ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from po where title=:title');
ADOQuery2.Parameters.ParamByName('title').Value := edit4.Text;
ADOQuery2.Open;
if ADOQuery2.RecordCount >= 1 then
begin showmessage('標題已經存在,請換標題!');
ADOQuery2.Close;
end
else
begin
ADOQuery2.Close;
ADOQuery1.append;
ADOQuery1.fieldByName('game').asstring := daqu.Text;
ADOQuery1.fieldByName('game1').asstring := xiaoqu.Text;
ADOQuery1.fieldByName('prices').asstring := edit5.Text;
ADOQuery1.fieldByName('memo1').asstring := memo1.Text;
ADOQuery1.fieldByName('credit').asstring := SpinEdit1.Text;
ADOQuery1.fieldByName('kind').asstring := combobox1.Text;
ADOQuery1.fieldByName('TITLE').asstring := edit4.Text;
if (checkbox1.Checked = true) then
begin
ADOQuery1.fieldByName('bool').asstring := '★';
end
else
begin
ADOQuery1.fieldByName('bool').asstring := '☆';
end;
ADOQuery1.post;
end;
为什么这代码扫执行了,不但没有加入到数据库中,还把daqu.Text;xiaoqu.Text;edit5.Text;memo1.Text;给清空了,我都没写清空这个控件的代码啊!
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from po where title=:title');
ADOQuery2.Parameters.ParamByName('title').Value := edit4.Text;
ADOQuery2.Open;
if ADOQuery2.RecordCount >= 1 then
begin showmessage('標題已經存在,請換標題!');
ADOQuery2.Close;
end
else
begin
ADOQuery2.Close;
ADOQuery1.append;
ADOQuery1.fieldByName('game').asstring := daqu.Text;
ADOQuery1.fieldByName('game1').asstring := xiaoqu.Text;
ADOQuery1.fieldByName('prices').asstring := edit5.Text;
ADOQuery1.fieldByName('memo1').asstring := memo1.Text;
ADOQuery1.fieldByName('credit').asstring := SpinEdit1.Text;
ADOQuery1.fieldByName('kind').asstring := combobox1.Text;
ADOQuery1.fieldByName('TITLE').asstring := edit4.Text;
if (checkbox1.Checked = true) then
begin
ADOQuery1.fieldByName('bool').asstring := '★';
end
else
begin
ADOQuery1.fieldByName('bool').asstring := '☆';
end;
ADOQuery1.post;
end;
为什么这代码扫执行了,不但没有加入到数据库中,还把daqu.Text;xiaoqu.Text;edit5.Text;memo1.Text;给清空了,我都没写清空这个控件的代码啊!
if ADOQuery2.RecordCount >= 1 then
begin showmessage('標題已經存在,請換標題!');
ADOQuery2.Close;
end
else
begin
ADOQuery2.Close;
ADOQuery2.sql.text:='................';
ADOQuery2.open;
ADOQuery1.append;
ADOQuery1.fieldByName('game').asstring := daqu.Text;
ADOQuery1.fieldByName('game1').asstring := xiaoqu.Text;
ADOQuery1.fieldByName('prices').asstring := edit5.Text;
ADOQuery1.fieldByName('memo1').asstring := memo1.Text;
ADOQuery1.fieldByName('credit').asstring := SpinEdit1.Text;
ADOQuery1.fieldByName('kind').asstring := combobox1.Text;
ADOQuery1.fieldByName('TITLE').asstring := edit4.Text;
if ADOQuery2.RecordCount >= 1 then
begin showmessage('標題已經存在,請換標題!');
ADOQuery2.Close;
end
else
begin
ADOQuery2.Close;
ADOQuery2.sql.text:='................';
ADOQuery2.open;
ADOQuery1.append;
ADOQuery1.fieldByName('game').asstring := daqu.Text;
ADOQuery1.fieldByName('game1').asstring := xiaoqu.Text;
ADOQuery1.fieldByName('prices').asstring := edit5.Text;
ADOQuery1.fieldByName('memo1').asstring := memo1.Text;
ADOQuery1.fieldByName('credit').asstring := SpinEdit1.Text;
ADOQuery1.fieldByName('kind').asstring := combobox1.Text;
ADOQuery1.fieldByName('TITLE').asstring := edit4.Text;
遇到问题首先想到的应该是去调试,而不是遇到问题就发问,实在跟不出来让大家一起帮你跟
是其他地方的问题,不是这段程序,而且就这个代码片段来看,ADOQuery1上面应该还有一段没有交待,看不出啥问题
如with AdoQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('insert into 表(字段...) values (参数)');
Parameters[0].Value:=给出参数值;
...
try
ExecSQL;
except
给出出错时的提示
end;
end; //结束with块
跟踪看一下,哪里做了清空处理。至于Sql语句你单步执行看是不是走了你想要的流程。