有没有出现异常?异常信息是什么?
另外,把
UPDATE test SET test1 = 9 WHERE test2 = 'qq'帖到你sql查询分析器里试试
另外,把
UPDATE test SET test1 = 9 WHERE test2 = 'qq'帖到你sql查询分析器里试试
解决方案 »
- datagridview与contextmenu的奇怪问题?
- 基于服务端的文件传输,高手请进
- C#中事件问题?
- 把一个EXCEL的数据导入多张表
- 自定义控件的问题,请教这是什么控件
- 解決了這個問題,我會愛死恩.
- 我用VS2005自带的安装程序,生成安装文件后,出现问题,请高手帮忙。
- --------------------高手请进,如何在Changed事件后,页面滚动条位置保持不变?----------------------------------
- 我的C#不能用了!
- 照相机功能,aforge类库如何实现调焦距功能,放大缩小,闪光灯开启!
- 如何将程序的状态信息起来,下次启动的时候读取它?
- 怎么保存图片保存到Access,
SqlConnection conn=new SqlConnection();
在
DataSet catDS = new DataSet();下加一句
conn.Open();
catDA.Fill(catDS, "test");
catDA.Update(catDS,"test");
conn.Close();
这句没有问题。对了,忘了说了,上面那些代码我已经用try了,可是没有抛出任何异常。楼上兄弟,你自己可以写一个这样例子试试
try
{
System.Data.SqlClient.SqlConnection myConnection = new SqlConnection("Data Source=10.0.0.66;Initial Catalog=test;user id=sa;password=dy123;Integrated Security=SSPI");
SqlDataAdapter catDA = new SqlDataAdapter();
catDA.SelectCommand = new SqlCommand("select * from test", myConnection);
catDA.UpdateCommand = new SqlCommand("UPDATE test SET test1 =0 WHERE test2 = 'ww'" , myConnection);
SqlCommandBuilder custCB = new SqlCommandBuilder(catDA);
myConnection.Open();
DataSet catDS = new DataSet();
catDA.Fill(catDS, "test");
catDA.Update(catDS,"test");
myConnection.Close();
MessageBox.Show("dd");
}
catch(Exception e1){MessageBox.Show(e1.ToString());}
DataRow cRow = catDS.Tables["test"].Rows[0];
cRow["test2"] = cRow["test2"];
就ok了!迷惑!!
当应用程序调用 Update 方法时,DbDataAdapter 根据 DataSet 中配置的索引顺序为每一行检查 RowState 属性,并迭代执行所需的 INSERT、UPDATE 或 DELETE 语句。例如,由于 DataTable 中行的排序,Update 可能先执行一个 DELETE 语句,接着执行一个 INSERT 语句,然后再执行另一个 DELETE 语句。应注意,这些语句不是作为批处理进程执行的;每一行都是单独更新的。在必须控制语句类型顺序的情况下(例如,INSERT 在 UPDATE 之前),应用程序可以调用 GetChanges 方法。有关更多信息,请参见使用 DataAdapter 和 DataSet 更新数据库。如果未指定 INSERT、UPDATE 或 DELETE 语句,Update 方法会生成异常。但是,如果设置 .NET Framework 数据提供程序的 SelectCommand 属性,则可以创建 SqlCommandBuilder 或 OleDbCommandBuilder 对象来为单个表更新自动生成 SQL 语句。然后,CommandBuilder 将生成其他任何未设置的 SQL 语句。此生成逻辑要求 DataSet 中存在键列信息。有关更多信息,请参见自动生成的命令。
你用了DataRow cRow = catDS.Tables["test"].Rows[0];
cRow["test2"] = cRow["test2"];
相当于给DataRow赋值了。
其实在更改DataSet时,主要修改的时DataTable,DataRow,在Update到数据库时也要看DataTable和DataRow的属性,如xixigongzhu(夕夕公主)所言。