C#中怎么样通过语句实现向 SQL 新建的空表中添加数据??我的代码如下,添加的时候出现 在位置0处没有任何 50

我的添加窗口如下,代码是privatevoidbutton1_Click(objectsender,EventArgse){try{stringkind="";float... 我的 添加窗口如下,代码是
private void button1_Click(object sender, EventArgs e)
{
try
{
string kind = "";
float d = 0.0f;
if (radioButton1.Checked == true)
{ kind = "收入"; }
else
{ kind = "支出"; }
float Loan = new float();
string amount = textBox1.Text.Trim();
string people = textBox2.Text.Trim();
string place = textBox3.Text.Trim();
string explain = textBox4.Text.Trim();
SqlConnection con1 = new SqlConnection();
con1.ConnectionString = "server=PC2010082202NSK\\SQLEXPRESS;initial catalog=FamilyFinance;Integrated Security = SSPI;";
SqlCommand cmd1 = new SqlCommand("select * from FinanceList order by HappenTime", con1);
SqlDataAdapter sda1 = new SqlDataAdapter();
sda1.SelectCommand = cmd1;
DataSet ds1 = new DataSet();
sda1.Fill(ds1, "FL");
// if (ds1.Tables["FL"].Rows[0][0] == null)
//Loan = 0.0f;
Loan = float.Parse(ds1.Tables["FL"].Rows[0][7].ToString()) - float.Parse(ds1.Tables["FL"].Rows[0][3].ToString());
cmd1.CommandText = "insert into FinanceList(ItemKind,HappenTime,Amount,Transactor,FinanceObject,BriefExplain,FamilyAmount) values(\'" + kind + "\',\'" + dateTimePicker1.Text + "\'," + amount + ",\'" + people + "\',\'" + place + "\',\'" + explain + "\',0)";
sda1.InsertCommand = cmd1;
sda1.Fill(ds1, "FL");
con1.Close();
SqlDataAdapter sda2 = new SqlDataAdapter("select * from FinanceList order by HappenTime", con1);
SqlCommandBuilder cmb = new SqlCommandBuilder(sda2);
DataSet ds2 = new DataSet();
sda2.Fill(ds2, "FL");
con1.Close();
DataTable dt = new DataTable();
dt = ds2.Tables["FL"].Copy();
ds2.Tables["FL"].Rows.Clear();
for (int i = 0; i <= dt.Rows.Count - 1; i++)
{
if (dt.Rows[i][1].ToString() == "收入")
d = 1.0f;
else
d = -1.0f;
dt.Rows[i][7] = Loan + float.Parse(dt.Rows[i][3].ToString()) * d;
Loan = float.Parse(dt.Rows[i][7].ToString());
}
for (int i = 0; i <= dt.Rows.Count - 1; i++)
{ ds2.Tables["FL"].ImportRow(dt.Rows[i]); }
sda2.Update(ds2, "FL");
MessageBox.Show("记帐成功!");
this.Dispose();
}
catch (Exception e2)
{
MessageBox.Show(e2 .Message );
}
}表
表的格式是这个ItemNum int IDENTITY(1,1) NOT NULL,ItemKind nchar(10) NOT NULL,HappenTime datetime NOT NULL,Amount float NOT NULL,Transactor text NOT NULL,FinanceObject nvarchar(50) NULL,BriefExplain nvarchar(200) NULL,FamilyAmount float NOT NULL,
其中ItemNum是设置自动增长的,我想把他设置程主键,不知道怎么在C#通过语句实现,最关键的问题就是现在添加不了数据。总是提示C#中怎么样通过语句实现向 SQL 新建的空表中添加数据??我的代码如下,添加的时候出现 在位置0处没有任何行。当数据表有一行数据时,可以正常添加。其中两个注释语句我是这样想的::如果ds1.Tables["FL"].Rows[0][0] == null,我就把LOAN设置成0;可是还是不行,,,跪求高手指点!!!
展开
 我来答
百度网友faa1796
2011-08-17 · TA获得超过221个赞
知道小有建树答主
回答量:225
采纳率:0%
帮助的人:170万
展开全部
ItemNum 这个是自增列 ,不需要手动插入数据
ItemKind
HappenTime
Amount
Transactor
FinanceObject
BriefExplain
FamilyAmount 这些是你的字段是吧?分别是代表什么?我这里就举例说明了。
剩下需要插入值的字段就还有ItemKind HappenTime Amount Transactor FinanceObject BriefExplain
这几个字段我不知道你分别用来存放什么的,我就打比方了。你先获取你文本框和单选框的值能获取吧?比如值分别获取成变量 a b c d e f
声明一个字符串变量来写sql语句
insert into table (ItemKind ,HappenTime , Amount Transactor ,FinanceObject,BriefExplain
) values (a,b,c,d,e,f)其中table代表表名 每个值相对应。比如a变量为类型的值,你ItemKind 又代表是类型的字段就把a写的跟它相对应, (这里)values(对应这里)
做好这个工作之后就是你的
SqlDataAdapter sda2 = new SqlDataAdapter("select * from FinanceList order by HappenTime", con1);
SqlCommand cmd1 = new SqlCommand("我们上面写的SQL语句", con1);
然后执行下就对了
追问
这个我没问题,只是现在有一个表FinanceList,当里面有一行数据的时候,添加的时候是没问题的,我已经试过了。关键现在的FinanceList表里面没有数据,是NULL,我通过这个程序向FinanceList里面添加的时候就会出现  在位置0处没有任何行,我不知道怎么解决这个问题。
追答
你是添加数据,不是查询数据。怎么会有什么0行提示。   SqlDataAdapter sda2 = new SqlDataAdapter("select * from FinanceList order by HappenTime", con1);
你是添加语句,你弄了个查询在里面。我不知道是干什么。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ttt291
2011-08-17 · TA获得超过201个赞
知道答主
回答量:360
采纳率:0%
帮助的人:274万
展开全部
如果表是空的,那 Loan = float.Parse(ds1.Tables["FL"].Rows[0][7].ToString()) - float.Parse(ds1.Tables["FL"].Rows[0][3].ToString()); 就会报在位置0处没有任何行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a308595369
2011-08-17 · TA获得超过610个赞
知道小有建树答主
回答量:601
采纳率:0%
帮助的人:579万
展开全部
创建个内存表 DataTable 吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhouyangmgzx
2011-08-17 · 超过16用户采纳过TA的回答
知道答主
回答量:145
采纳率:0%
帮助的人:51.2万
展开全部
buzhidao
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式