UPDATE语句不会写

xcode21 2005-02-20 09:54:50
想写一个操作Access的程序,但是SQL语句不会写,和SQLServer好像不太一样

程序如下:
string queryString = "UPDATE phones SET phone=@phone WHERE id=@id";
OleDbCommand command = new OleDbCommand(queryString, FormMain.dataConnection);
command.Parameters.Add("@id", id.ToString());
command.Parameters.Add("@phone", txtPhone.Text.Trim());
command.ExecuteNonQuery();

其中数据的定义如下:
phone是文本型的,长度够用
id是Access的自动编号类型的


运行之后无出错,但是影响行数是0
我使用跟踪调试,将上面程序的参数替换成实际的值后放到Access后运行则影响行数是1。

请问程序有什么问题?
...全文
158 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuo_cool 2005-02-21
  • 打赏
  • 举报
回复
请注意各参数的顺序,否则不能插入数据
cuo_cool 2005-02-21
  • 打赏
  • 举报
回复
string queryString = "UPDATE phones SET phone=@phone WHERE id=@id";
OleDbCommand command = new OleDbCommand(queryString, FormMain.dataConnection);
command.Parameters.Add("@phone", txtPhone.Text.Trim());
command.Parameters.Add("@id", id.ToString());
command.ExecuteNonQuery();
顺序要一致!先@phone再@id,再试一下吧!
DeltaCat 2005-02-20
  • 打赏
  • 举报
回复
如果不是INSERT的话,COMMAND 本身不支持多个参数,这样写吧

OleDbCommand command = new OleDbCommand();
command.Connection = FormMain.dataConnection;
command.CommandText = string.Format("UPDATE phones SET phone='{0}' WHERE id={1}", txtPhone.Text.Trim(),id.ToString());
command.ExecuteNonQuery();
xcode21 2005-02-20
  • 打赏
  • 举报
回复
我在Access中用的就是quieryString中的内容,在Access中运行的语句是:
UPDATE phones SET phone='123456' WHERE id=5
bflovesnow 2005-02-20
  • 打赏
  • 举报
回复
跟踪调试时检查下 queryString 的内容,把这个内容在 Access 中运行一下看看.
vitamin_ok 2005-02-20
  • 打赏
  • 举报
回复
id自动编号应该是int类型
string queryString = "UPDATE phones SET phone=@phone WHERE id=@id";
OleDbCommand command = new OleDbCommand(queryString, FormMain.dataConnection);
command.Parameters.Add("@id", Convert.ToInt32(id));
command.Parameters.Add("@phone", txtPhone.Text.Trim());
command.ExecuteNonQuery();
xcode21 2005-02-20
  • 打赏
  • 举报
回复
而且这样会不会引起注入攻击呢?
xcode21 2005-02-20
  • 打赏
  • 举报
回复
可是为什么SQL Server支持呢?

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧