delphi 程序调式问题?

来源:百度知道 编辑:UC知道 时间:2024/05/28 08:04:09
procedure TForm1.Button1Click(Sender: TObject);
var
xfbj_dd,xfbj_sj,xfbj_dh,cmdstr1,cmdstr2:string;
begin
xfbj_dd:='asdsad';
xfbj_sj:='sddfdsf';
xfbj_dh:='ghjgsa';
cmdstr1:='select max(XFBJ_ID) from YW_XFBJHISTEMP';
OraQuery1.Close;
OraQuery1.SQL.Clear;
OraQuery1.SQL.Add(cmdstr1);
OraQuery1.Open;
memo1.Lines.Add(OraQuery1.fields[0].AsString);
if OraQuery1.fields[0].AsInteger=0 then
cmdstr2:='insert into yw_xfbjhistemp(xfbj_id,XFBJ_DD,XFBJ_TIME,XFBJ_EVEN) values(1, xfbj_dd,xfbj_sj,xfbj_dh)';

OraQuery1.SQL.Add(cmdstr2);
OraQuery1.ExecSQL;
OraQuery1.Close;

memo1.Lines.Add('数据传输完毕!');
end;

说明: 每次调试的时候 一到执行sql语句时候就报错,不知道错在哪里
错误:sql command not properly ended

第二段SQL代码少了QraQuery1.Clear

加个断点跟一下
看看到底哪步报的错,然后再分析
cmdstr2:='insert into yw_xfbjhistemp(xfbj_id,XFBJ_DD,XFBJ_TIME,XFBJ_EVEN) values(1, xfbj_dd,xfbj_sj,xfbj_dh)';
这句话 如果你代码中就写这么点应该就是由问题的
xfbj_dd,xfbj_sj,xfbj_dh这些都是啥啊?什么时候赋的值?

OraQuery1在open状态下,不能ExecSQL

第一个查询SQL的都没有清除,又加一个插入SQL。当然执行不了了。
OraQuery1.SQL.Add(cmdstr2);的前面加上OraQuery1.SQL.Clear;