回 帖 发 新 帖 刷新版面

主题:新手提问:数据库记录更新失败

代码
(1)    SqlConnection mycon = new SqlConnection("server=.\\sqlexpress;uid=123;pwd=456;database=123456");

(2)    mycon.Open();

(3)    SqlCommand testcmd = new SqlCommand("update 456789 set phone='111' where id='11'",mycon);

已排除:登录数据库错误(程序运行时在命令行下sa用户无法删除123用户)
        更新命令或未授权错误(123用户在命令行模式下更新成功)

实在找不出原因了,大家帮帮忙。

回复列表 (共6个回复)

沙发

你这里都更新成功了呀,还要怎么搞。

板凳

可能是我没有描述清楚,我的意思是:程序运行时,更新是不成功的;但是在命令行模式下(即不运行程序,而通过sqlcmd手动输入命令没问题)。

3 楼

程序没有连接数据库成功。你可以找一下看是数据库密码登录错误,还是驱动加载错误

4 楼


我认为连接数据库是成功了的,因为我用-E参数登录数据库删除 123 用户时,提示用户已登录。

驱动加载错误是指 System.Data.SqlClient 有问题吗? 在程序调试过程中没有提示信息啊。

5 楼

借了本 《C#数据库入门经典》 搞定了,原来Update命令不是象第(3)行那样用的。

正确写法修改如下:

(1)//创建myupdate对象,初始化connection属性
     sqlCommand myUpdate = mycon.CreateCommand(); 

(2)//给myUpdate的CommandText属性赋值
     myUpdate.CommandText="update 456789 set phone='111' where id='11';

(3)//对表456789进行数据更新
     myUpdate.ExecuteNonQuery();

6 楼

今天才真正找出原因:原来的程序缺少ExecuteNonquery,Update命令没执行,所以更新不成功。实际上两种写法都可以。

我来回复

您尚未登录,请登录后再回复。点此登录或注册