SqlConnection myConnection = new SqlConnection (strConn);
myConnection.Open();
SqlDataAdapter myDataAdapter = new SqlDataAdapter ();
DataSet myDataSet = new DataSet (); string strCom = "SELECT * FROM tblARepairPart"; myDataAdapter.SelectCommand = new SqlCommand (strCom,myConnection);
myDataAdapter.Fill (myDataSet,"tblARepairPart"); MessageBox.Show("fill");
DataRow myDataRow; //定义一个DataRow
DataTable myDataTable; //定义一个DataTable
myDataTable = myDataSet.Tables["tblARepairPart"]; //引用DataSet中的一个DataTable myDataRow = myDataTable.NewRow(); //调用NewRow方法得到一个DataRow myDataRow["RepairID"] = "yanyang";
myDataRow["PartID"] = "1235"; myDataRow["PositionNo"] = "18888"; myDataRow["Quantity"] = "5555"; myDataTable.Rows.Add(myDataRow); //将此DataRow添加到myDataTable中
myDataAdapter.Update(myDataSet);
---------------------------
以上代码,添加不成功。
错误提示为:
未处理的“System.InvalidOperationException”类型的异常出现在 system.data.dll 中。其他信息: Update 无法找到 TableMapping['Table'] 或 DataTable“Table”。
myConnection.Open();
SqlDataAdapter myDataAdapter = new SqlDataAdapter ();
DataSet myDataSet = new DataSet (); string strCom = "SELECT * FROM tblARepairPart"; myDataAdapter.SelectCommand = new SqlCommand (strCom,myConnection);
myDataAdapter.Fill (myDataSet,"tblARepairPart"); MessageBox.Show("fill");
DataRow myDataRow; //定义一个DataRow
DataTable myDataTable; //定义一个DataTable
myDataTable = myDataSet.Tables["tblARepairPart"]; //引用DataSet中的一个DataTable myDataRow = myDataTable.NewRow(); //调用NewRow方法得到一个DataRow myDataRow["RepairID"] = "yanyang";
myDataRow["PartID"] = "1235"; myDataRow["PositionNo"] = "18888"; myDataRow["Quantity"] = "5555"; myDataTable.Rows.Add(myDataRow); //将此DataRow添加到myDataTable中
myDataAdapter.Update(myDataSet);
---------------------------
以上代码,添加不成功。
错误提示为:
未处理的“System.InvalidOperationException”类型的异常出现在 system.data.dll 中。其他信息: Update 无法找到 TableMapping['Table'] 或 DataTable“Table”。
UPDATE tblARepairPart set RepairID="yanyang",PartID="1235"...;
DataRow dr = myDataSet.Table[0].NewRow();
dr["RepairID"] = "yanyang";
.......................
myDataSet.Table[0].Rows.Add(dr);
myDataAdapter.Update(myDataSet);
楼主
datarow dr=myDataSet.table["..."].newrowdr["RepairID"] = "yanyang"; dr["PartID"] = "1235"; dr["PositionNo"] = "18888"; myDataRow["Quantity"] = "5555";
myDataSet.table("...").row.add(dr);
然后还有声明个
sqlcommandbuilder s=new sqlcommandbuilder(myDataAdapter )
myDataAdapter.Update(myDataSet)
这样应该就行了吧。
myDataAdapter.Fill (myDataSet,"tblARepairPart"); 不能这么写的,你的DataSet没有把“tblARepairPart”这个表先加进去就,就执行这句myDataAdapter.Fill (myDataSet,"tblARepairPart"); 不行的,这样你的DataSet 里就会有两张表“Table” 和“tblARepairPart”
在请教一下,
“然后还有声明个
sqlcommandbuilder s=new sqlcommandbuilder(myDataAdapter )”这句话是什么意思,有什么用呢??拜谢!
Myadpter.insercommand
Myadpter.updatecommand
他会自动生成这些
具体 请看。。
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfsystemdatasqlclientsqlcommandbuilderclasstopic.asp或者 百度 利用sqladapter更新数据库
很多的。