关于DATASET写数据到数据库问题
ataTable dt = dataSet2.Tables[0];
DataColumn dc = dt.Columns[0];
DataRow dr = dt.NewRow();
dr["cp_dep"] = 1;
dr["cp_no"] = "000008";
dr["cp_type"] = "0";
dr["cp_name"] = "Orange";
dr["cp_price"] = 1.23;
dt.Rows.Add(dr);
this.odbcDataAdapter1.Update(dataSet2);
上面的代码能把数据写到dataSet,但还没能够写到数据库里,差了什么呢?
能马上解决的另外送分
------解决方案--------------------ataTable dt = dataSet2.Tables[0];
#region 设置数据表dt的主键集
DataColumn[] priKeys=new DataColumn[2];
priKeys[0]=dt.Columns[0];
priKeys[1]=dt.Columns[1];
#endregion
DataColumn dc = dt.Columns[0];
DataRow dr = dt.NewRow();
dr["cp_dep"] = 1;
dr["cp_no"] = "000008";
dr["cp_type"] = "0";
dr["cp_name"] = "Orange";
dr["cp_price"] = 1.23;
dt.Rows.Add(dr);
#region 为odbcDataAdapter1生成更新语句(这里用的是SQL数据库)
SqlCommandBuilder cb=new SqlCommandBuilder(odbcDataAdapter1);
#endregion
this.odbcDataAdapter1.Update(dataSet2);
------解决方案--------------------或者你在使用odbcDataAdapter1.Fill(dt)前设置好更新语句与参数
SqlDataAdapter a=new SqlDataAdapter();
a.UpdateCommand.CommandText="......";
a.UpdateCommand.Parameters.Add(....);
具体的用法查看msdn
------解决方案--------------------兄弟 你光这样是不行的呀 你必须要向sqlDataAdapter指定你的操作是何种操作
+上这2句就可以了
SqlDataAdapter da=new SqlDataAdapter();
da.InsertCommand=new SqlCommand(往数据库里插入的语句,你的数据库连接对象);
如果是更新或者删除 只要把 InsertCommand换成UpdataCommand DeleteCommand 再把后面的数据库执行语句换1下即可