SqlConnection con=new SqlConnection("packet size=4096;user id=sa;data source='192.168.0.3';persist security info=True;initial catalog=MarkDB;password='pass'");
con.Open();
/*SqlCommand com=con.CreateCommand();
com.CommandText="SELECT MB001,MB002,MB003 FROM AAAMB";
SqlDataReader read=com.ExecuteReader();
while (read.Read())
{
Console.WriteLine("\t{0}\t{1}",read["MB001"],read["MB002"]);
}
read.Close();
//con.Close();
Console.ReadLine();*/
SqlDataAdapter adapter=new SqlDataAdapter("select MB001,MB002,MB003 FROM AAAMB",con);
SqlCommandBuilder bui=new SqlCommandBuilder(adapter);
DataSet dataset=new DataSet();
adapter.Fill(dataset,"AAAMB");
Console.WriteLine("name before change:{0}",dataset.Tables["AAAMB"].Rows[0]["MB002"]);
Console.ReadLine();
dataset.Tables["AAAMB"].Rows[0]["MB002"]="aaaaaaa";
adapter.Update(dataset,"AAAMB");
Console.WriteLine("name before change:{0}",dataset.Tables["AAAMB"].Rows[0]["MB002"]);
Console.ReadLine();在运行时提示adapter.Update(dataset,"AAAMB");有错误。为
未处理的“System.InvalidOperationException”类型的异常出现在 system.data.dll 中。其他信息: Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.请问要怎么才行?小弟刚学,请各位大哥指点
con.Open();
/*SqlCommand com=con.CreateCommand();
com.CommandText="SELECT MB001,MB002,MB003 FROM AAAMB";
SqlDataReader read=com.ExecuteReader();
while (read.Read())
{
Console.WriteLine("\t{0}\t{1}",read["MB001"],read["MB002"]);
}
read.Close();
//con.Close();
Console.ReadLine();*/
SqlDataAdapter adapter=new SqlDataAdapter("select MB001,MB002,MB003 FROM AAAMB",con);
SqlCommandBuilder bui=new SqlCommandBuilder(adapter);
DataSet dataset=new DataSet();
adapter.Fill(dataset,"AAAMB");
Console.WriteLine("name before change:{0}",dataset.Tables["AAAMB"].Rows[0]["MB002"]);
Console.ReadLine();
dataset.Tables["AAAMB"].Rows[0]["MB002"]="aaaaaaa";
adapter.Update(dataset,"AAAMB");
Console.WriteLine("name before change:{0}",dataset.Tables["AAAMB"].Rows[0]["MB002"]);
Console.ReadLine();在运行时提示adapter.Update(dataset,"AAAMB");有错误。为
未处理的“System.InvalidOperationException”类型的异常出现在 system.data.dll 中。其他信息: Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.请问要怎么才行?小弟刚学,请各位大哥指点
//请确保MB001,MB002,MB003其中有一个主键, 即在Select语句中选出的列中需要存在一个主键才能使用SqlComamndBuilder
从系统的提示信息上看你的MB001,MB002,MB003 FROM AAAMB几个字段中肯定没有主健字段,所以不能用SqlComamndBuilder来进行更新.
要更新没有主健字段的数据表,你应该用Update关健字来构造SQL指令,然后用ExecuteNonQuery来执行更新查询
是没有主键,请问”你应该用Update关健字来构造SQL指令,然后用ExecuteNonQuery来执行更新查询
“能否给出列子,谢谢!
SqlCommand sqlCmd = new SqlCommand(sSql,conn);
sqlCmd.ExecuteNonQuery();