关于SqlCommandBuilder自动生成sql语句的问题

builderman 2004-09-17 01:35:22
为什么我用SqlCommandBuilder更新一个单表时,
有设置DataTable.PrimaryKey属性和没有设置DataTable.PrimaryKey属性,自动生成的Sql语句为何是一样的
...全文
228 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dgfhz 2005-05-06
  • 打赏
  • 举报
回复
各位大侠: 为什么我的SqlCommandBuilder不能自动生成其它sql ,代码如下:

public void UpdateDataSet(DataSet myDataSet,string sQuery)
{
SqlDataAdapter myDataAdapter = new SqlDataAdapter();
myDataAdapter.SelectCommand = new SqlCommand(sQuery, this.conn);
SqlCommandBuilder cb = new SqlCommandBuilder(myDataAdapter);

conn.Open();

myDataAdapter.Fill(myDataSet);

myDataAdapter.Update(myDataSet);

conn.Close();
}
coolksj 2004-09-17
  • 打赏
  • 举报
回复
那是指你的DataSet或DataTable里面显示的数据一定要有一个是主键,要不然,他是没有办法回写的
Samen168 2004-09-17
  • 打赏
  • 举报
回复
up
builderman 2004-09-17
  • 打赏
  • 举报
回复
那MSDN上讲的这句对生成sql语句有什么用呢?

SelectCommand 还必须至少返回一个主键列或唯一的列。如果什么都没有返回,就会产生 InvalidOperation 异常,不生成命令。
北京的雾霾天 2004-09-17
  • 打赏
  • 举报
回复
SqlCommandBuilder会自己生成更新命令,用不用PrimaryKey都是一样的由SqlCommandBuilder来生成,所以就一样了.
xiangyangsunboy1 2004-09-17
  • 打赏
  • 举报
回复
自动生成的SQL语句是根据对应的dATAaDAPTER的SelectCommand的CommandText来变化的。
//
nod
triout 2004-09-17
  • 打赏
  • 举报
回复
自动生成的SQL语句是根据对应的dATAaDAPTER的SelectCommand的CommandText来变化的。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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