delphi7 数据更新问题

procedureTForm1.Button1Click(Sender:TObject);beginADOQuery1.Close;ADOQuery1.SQL.Clear... procedure TForm1.Button1Click(Sender: TObject);
begin

ADOQuery1.Close;
ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('Update huizong SET snum=:a+b+c');
ADOQuery1.SQL.Add('where snum is null');

ADOQuery1.ExecSQL;

end;

end.
为什么不对啊
展开
 我来答
匿名用户
2012-06-17
展开全部
sSql := 'Select * From A Where FYear = :vYear and Fmonth = :vMonth';
ADOQuery1.SQL.Text := sSql;
ADOQuery1.Parameters.ParamByName('vYear').Value := Edit1.Text;
ADOQuery1.Parameters.ParamByName('vMonth').Value := Edit2.Text;
ADOQuery1.Open;

if ADOQuery1.RecordCount = 0 then
begin
ADOQuery1.Insert;
ADOQuery1.FieldByName('Fvalue').Value := Trim(Edit3.Text);
ADOQuery1.Post;
end
else
begin
ADOQuery1.Edit;
ADOQuery1.FieldByName('Fvalue').Value := Trim(Edit3.Text);
ADOQuery1.Post;
end;赞同
0| 评论
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
之立果047
2012-06-17
知道答主
回答量:2
采纳率:0%
帮助的人:3189
展开全部
ADOQuery1.SQL.Add('Update huizong SET snum=:a+b+c');

snum=:a+b+c

:a 这不是参数变量吧?snum=a+b+c
追问
也不对啊
追答
这要看你数据表里a、b、c代表的是什么了,你得附上你的数据结构看的人才能看完整。
另外,你选的答案里“ExecSQL;改成open试试”貌似没什么关联:
ExecSQL是用来执行无返回数据集的指令,比如:insert、update、delete
Open是用来返回数据集的,一般用于select语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
衣漪E9
2012-06-17 · 超过59用户采纳过TA的回答
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:163万
展开全部
ExecSQL;改成open试试
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式