一个数据库计算的问题

ww8n 2004-05-08 12:10:27
qy_tongji.close;
qy_tongji.sql.text := 'update tongji set countnum=countnum+1 where nameid='+quotedstr(add.Text);
qytongji.execsql;

其中“tongj”是我建的数据库,有两个字段:“nameid”,“countnum”.请问我这样写有什么错误?
我的nameid和countnum都是int.
我是想这样的,在add.text中填一个数字,如果填的数字和nameid相同,则和nameid对应的countnum加一,请问还有什么方法吗?谢谢!
...全文
70 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihaopeng4 2004-05-08
  • 打赏
  • 举报
回复
qy_tongji.SQL.Clear;
qy_tongji.SQL.Add('update tongji set countnum=countnum+1 where nameid='+add.Text);
qy_tongji.Open;
这样就行了。
不用sql.text,sql.text里面含有不可见字符,你设个断点跟踪一下就会发现。
ldelphi 2004-05-08
  • 打赏
  • 举报
回复
应该养成这样的习惯:在增加Sql 以前要清空Sql。如:
with qy_tongji Do
Begin
close;
Sql.Clear;
Sql.Add('update tongji set countnum=countnum+1 where nameid='+Add.Text);
//InputBox('','',Sql.Text);
ExecSql;
End;
把InputBox中的内容复制到数据解析中执行一下。就能找出真正的原因所在。

jinjazz 2004-05-08
  • 打赏
  • 举报
回复
qy_tongji.sql.text := 'update tongji set countnum=countnum+1 where nameid='+add.Text;

to楼上:sql语句没有错误,既然是int就不quotestr了,必要的时候用showmessage看看sql.text
hujinger 2004-05-08
  • 打赏
  • 举报
回复
quotedstr(add.Text); ____改为: strtoint(add.text);

set countnum=countnum+1 where ..... sql语句错了啊!!
xdf221 2004-05-08
  • 打赏
  • 举报
回复
'update tongji set countnum = countnum + 1 where nameid = '+ add.Text
ww8n 2004-05-08
  • 打赏
  • 举报
回复
to weizi2000(秋风啊):可以了,但用了execsql后我的dbgrid没显示了,请问得怎样修改才能使dbgrid有显示?谢谢大家!
bdesql 2004-05-08
  • 打赏
  • 举报
回复
在增加SQL以前要清空SQL
WITH QY_TONGJI DO
begin
CLOSE;
SQL.CLEAR;
SQL.ADD('SELECT * FROM "数据库名:表名"');
execsql;
end;
楚人无衣 2004-05-08
  • 打赏
  • 举报
回复
qy_tongji.SQL.Text := 'update tongji set countnum=countnum+1 where nameid=' + Trim(add.Text);

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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