Sql Server update问题

111231232 2015-06-13 04:19:45
刚学ado.net,遇到一个问题

private void Form1_Load(object sender, EventArgs e)
{
sc = new SqlConnection("Server = localhost; database = StepSample; Integrated Security = True");
sc.Open();
ds = new System.Data.DataSet();
sda = new SqlDataAdapter("select * from Test", sc);
scb = new SqlCommandBuilder(sda);
sda.Fill(ds, "Test");

DataRow dr = ds.Tables[0].NewRow();
dr["name"] = "szz";
dr["Id"] = 12;
ds.Tables[0].Rows.Add(dr);

sda.Update(ds, "Test");
sc.Close();
}

这样在表里增加一行就可以更新,但是如果是
sc = new SqlConnection("Server = localhost; database = StepSample; Integrated Security = True");
sc.Open();
ds = new System.Data.DataSet();
sda = new SqlDataAdapter("select * from Test", sc);
scb = new SqlCommandBuilder(sda);
sda.Fill(ds, "Test");

ds.Tables[0].Rows[0]["name"] = "zz";

sda.Update(ds, "Test");
sc.Close();


只修改表里的数据,就会报错
“System.InvalidOperationException”类型的未经处理的异常在 System.Data.dll 中发生

其他信息: 对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。


请问错在哪里了?
...全文
155 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
111231232 2015-06-13
  • 打赏
  • 举报
回复
那第一个为什么可以更新呢?

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧