" id="b1img" alt="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" title="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO">
  • " alt="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" title="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" />
  • " alt="Windows/Linux服务器运维技术支持 环境搭建、应用发布、服务器管理、虚拟化、云计算" title="Windows/Linux服务器运维技术支持 环境搭建、应用发布、服务器管理、虚拟化、云计算" />
  • " alt="高校/小型企业网络运维与建设免费技术支持,网络规划、网络优化、故障排除、网络管理" title="高校/小型企业网络运维与建设免费技术支持,网络规划、网络优化、故障排除、网络管理" />

当传递具有新行的 DataRow 集合时,更新要求有效的 InsertCommand

程序设计2007-12-03 itlogger阅读(1,036) 评论(1)


string source = "Provider=Microsoft.JET.OLEDB.4.0;data source=../../data/zcgl.mdb";
string select="select * from zcgl";
OleDbConnection conn = new OleDbConnection(source);
conn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(select, conn);
OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);//添加这句,生成SQL即可或者设置一下表的主键!
DataSet ds = new DataSet();
adapter.Fill(ds,"zcgl");
//dataGridView1.DataSource = ds.Tables["zcgl"];
DataTable dt = ds.Tables["zcgl"];
DataRow dr = dt.NewRow();
dr[0] = "1006";
dr[1] = "防火墙5500";
dr[2] = "ccc";
dr[3]="ddd";
dt.Rows.Add(dr);
dataGridView1.DataSource = dt.DefaultView;
adapter.Update(ds, "zcgl");
conn.Close();    DataAdapter 对象在数据发生变化的时候,并不能自动产生数据库系统所需要的 Transact-SQL 语句,如果不使用 CommandBuilder 而使用 Update 方法,这是不会成功的。而 CommandBuilder 对象能为单个表的数据改变自动产生 Transact-SQL 语句。

转载请注明 :IT樵客
文章地址:http://www.itlogger.com/program/457.html
标签:
相关文章

One thought on “当传递具有新行的 DataRow 集合时,更新要求有效的 InsertCommand

发表评论

电子邮件地址不会被公开。 必填项已用*标注