SqlDataAdapter怎么把两张表同时生成insertCommand,updateCommand,DeleteCommand?

pktcboy 2008-01-09 11:34:16
我直接从数据中托的SqlDataAdapter控件但不知道为什么在这步的时候有问题


是不是一个DataAdapter只能连接一张表?
我的DataSet中有两张表Test和Test1,如果我想分别操作他们该怎么办最好?
用两个DataAdapter连接吗?
...全文
134 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cpio 2008-01-09
  • 打赏
  • 举报
回复

可以用一个,自己在里面添加查询
GhostAdai 2008-01-09
  • 打赏
  • 举报
回复
mark~
pktcboy 2008-01-09
  • 打赏
  • 举报
回复
是不是一个DataAdapter只能连接一张表?
我的DataSet中有两张表Test和Test1,如果我想分别操作他们该怎么办最好?


========================
1.DataAdapter可以有多个表
SqlDataAdapter da=new SqlDataAdapter("select * from Test;select * from Test1;",con);
da.fill(ds);

2.比如你想操作Test1
ds.Tables[1]就可以了,在DataSet里默认填充的表名为table1 table2 ......tableN
但是用索引就更方便,1就是填充时的第二张表

========================
1.我也是这么写的也可以调出表但就是在更新数据的时候
DataRow objDataRow=objDataSet.Tables["Test"].NewRow();
objDataRow["ID"]=this.txbID.Text;
objDataRow["Name"]=this.txbName.Text;
objDataRow["Phone"]=this.txbPhone.Text;
objDataSet.Tables["Test"].Rows.Add(objDataRow);
objDataSet.HasChanges(DataRowState.Added);//这个地方出错
objSqlDataAdapter.Update(objDataSet,"Test");
MessageBox.Show("录入成功!");
错误提示没有初始化InsertCommand语句。
但如果我初始化了InsertCommand是指向Test还是Test1?这个不是很明白!
赵凯~ 2008-01-09
  • 打赏
  • 举报
回复
SqlDataAdapter最好好是手写,出了问题好调试
你用拖的也可以,万一出问题了调试费劲,都是系统生成的Code 呵呵~~~
赵凯~ 2008-01-09
  • 打赏
  • 举报
回复
是不是一个DataAdapter只能连接一张表?
我的DataSet中有两张表Test和Test1,如果我想分别操作他们该怎么办最好?


========================
1.DataAdapter可以有多个表
SqlDataAdapter da=new SqlDataAdapter("select * from Test;select * from Test1;",con);
da.fill(ds);

2.比如你想操作Test1
ds.Tables[1]就可以了,在DataSet里默认填充的表名为table1 table2 ......tableN
但是用索引就更方便,1就是填充时的第二张表

111,089

社区成员

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

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

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