with adoquery do begin close; sql.clear; sql.add('update table set field =:field'); paramters.parambyname('field').value :='a'; try execsql; except end; end;
qxj(小小小小小小程序员) sql.add('update table set field =:field'); paramters.parambyname('field').value :='a';你这两句我改成这样你看行不行 sql.add('update table set field1 =:field1 field2 =:field2'); paramters.parambyname('field').value :='edit1.text'; 我想一次更新好几个字段 怎么写? sql属性里面怎么写?谢谢指教!
还有就是 我这个搜索的按钮,如果没有找到就弹出showmessage窗口,提示用户没有找到,这个怎么做 我做asp的时候有eof\bof我想请问在delphi里面怎么写。 谢谢啦! 我按钮的代码 procedure TForm3.BitBtn3Click(Sender: TObject); begin if Edit1.Text='' then begin showmessage('输入数据在进行查询'); abort; end; adoquery1.close; adoquery1.sql.clear; adoquery1.sql.text:='select * from delphi where name="'+edit1.text+'"'; adoquery1.open; end;
你可以这样写: sql.add('update table set field1 =:field1,field2 =:field2'); paramters.parambyname('field1').value :='edit1.text'; paramters.parambyname('field2').value :='edit2.text'; 对于你的第二个问题: with adoquery do begin close; sql.clear; ...... try execsql; except end; if recordcount=0 then begin Application.MessageBox ('没有符合条件的信息!',pchar(Caption),MB_OK); exit; end; end;
错了,对于你的第二个问题: with adoquery do begin close; sql.clear; ...... try open; //查询用open except end; if recordcount=0 then begin Application.MessageBox ('没有符合条件的信息!',pchar(Caption),MB_OK); exit; end; end;
wjsfr(令狐葱) 说的对,我刚才没看清楚,不好意思。 应该是edit1.text,没有引号
sql.add('update table set field1 =:field1 field2 =:field2');//这句错了 paramters.parambyname('field').value :='edit1.text' //这也错了,//改为sql.add('update table set field1 =:field1, field2 =:field2') paramters.parambyname('field').value :=edit1.text
sql.add('update table set field1 =:field1, field2 =:field2') 这里我这样写 sql.add('update table set 数据库字段1=:field1, 数据库字段2 =:field2')可以嘛?
那么在adoquery里面的sql属性里面编辑sql语句 就直接update table set field1 =:field1, field2 =:field2 这句就够了吧?
我把这段代码加入我的按钮事件里面是错的阿 procedure TForm3.BitBtn3Click(Sender: TObject); begin if Edit1.Text='' then begin showmessage('输入数据在进行查询'); abort; end; adoquery1.close; adoquery1.sql.clear; adoquery1.sql.text:='select * from delphi where name="'+edit1.text+'"'; adoquery1.open; try execsql;<===================这里有错 except end; if recordcount=0 then begin Application.MessageBox ('没有符合条件的信息!',pchar(Caption),MB_OK); exit; end;end;
procedure TForm3.BitBtn3Click(Sender: TObject); begin if Edit1.Text='' then begin showmessage('输入数据在进行查询'); abort; end; adoquery1.close; adoquery1.sql.clear; adoquery1.sql.text:='select * from delphi where name="'+edit1.text+'"'; adoquery1.open; //这里的东西去掉好了。 if recordcount=0 then begin Application.MessageBox ('没有符合条件的信息!',pchar(Caption),MB_OK); exit; end;end;
wjsfr(令狐葱) 我试验了 不行啊 我用open了也不行 with adoquery1 do<==============================如果有这行,这里就要出错 begin gytyl(delphi混混) if recordcount=0 then<==============================这里出错 begin Application.MessageBox ('没有符合条件的信息!',pchar(Caption),MB_OK); exit; end;
procedure TForm3.BitBtn3Click(Sender: TObject); begin if Edit1.Text='' then begin showmessage('输入数据在进行查询'); abort; end; with adoquery1 do begin close; sql.clear; sql.text:='select * from delphi where name="'+edit1.text+'"'; try open; except execsql; end; if recordcount=0 then begin Application.MessageBox ('没有符合条件的信息!',pchar(Caption),MB_OK); exit; end; end;end;
一个adoquery是用来查询的,一个是用来更新的
如果不行怎么解决。谢谢啦!!!
begin
close;
sql.clear;
sql.add('update table set field =:field');
paramters.parambyname('field').value :='a';
try
execsql;
except
end;
end;
sql.add('update table set field =:field');
paramters.parambyname('field').value :='a';你这两句我改成这样你看行不行
sql.add('update table set field1 =:field1 field2 =:field2');
paramters.parambyname('field').value :='edit1.text';
我想一次更新好几个字段
怎么写?
sql属性里面怎么写?谢谢指教!
我这个搜索的按钮,如果没有找到就弹出showmessage窗口,提示用户没有找到,这个怎么做
我做asp的时候有eof\bof我想请问在delphi里面怎么写。
谢谢啦!
我按钮的代码
procedure TForm3.BitBtn3Click(Sender: TObject);
begin
if Edit1.Text='' then
begin
showmessage('输入数据在进行查询');
abort;
end;
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.text:='select * from delphi where name="'+edit1.text+'"';
adoquery1.open;
end;
sql.add('update table set field1 =:field1,field2 =:field2');
paramters.parambyname('field1').value :='edit1.text';
paramters.parambyname('field2').value :='edit2.text';
对于你的第二个问题:
with adoquery do
begin
close;
sql.clear;
......
try
execsql;
except
end;
if recordcount=0 then
begin
Application.MessageBox ('没有符合条件的信息!',pchar(Caption),MB_OK);
exit;
end;
end;
paramters.parambyname('field1').value :=edit1.text;
这样才对,
要注意,edit1.text不要加‘’,她本身就是字符串!
with adoquery do
begin
close;
sql.clear;
......
try
open; //查询用open
except
end;
if recordcount=0 then
begin
Application.MessageBox ('没有符合条件的信息!',pchar(Caption),MB_OK);
exit;
end;
end;
应该是edit1.text,没有引号
paramters.parambyname('field').value :='edit1.text' //这也错了,//改为sql.add('update table set field1 =:field1, field2 =:field2')
paramters.parambyname('field').value :=edit1.text
这里我这样写
sql.add('update table set 数据库字段1=:field1, 数据库字段2 =:field2')可以嘛?
就直接update table set field1 =:field1, field2 =:field2
这句就够了吧?
procedure TForm3.BitBtn3Click(Sender: TObject);
begin
if Edit1.Text='' then
begin
showmessage('输入数据在进行查询');
abort;
end;
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.text:='select * from delphi where name="'+edit1.text+'"';
adoquery1.open;
try
execsql;<===================这里有错
except
end;
if recordcount=0 then
begin
Application.MessageBox ('没有符合条件的信息!',pchar(Caption),MB_OK);
exit;
end;end;
中,把execsql删去,select语句是要返回数据集的,execsql不能返回数据集,execsql对应于insert,update,delete,create等!
begin
if Edit1.Text='' then
begin
showmessage('输入数据在进行查询');
abort;
end;
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.text:='select * from delphi where name="'+edit1.text+'"';
adoquery1.open;
//这里的东西去掉好了。 if recordcount=0 then
begin
Application.MessageBox ('没有符合条件的信息!',pchar(Caption),MB_OK);
exit;
end;end;
我试验了
不行啊
我用open了也不行
with adoquery1 do<==============================如果有这行,这里就要出错
begin
gytyl(delphi混混)
if recordcount=0 then<==============================这里出错
begin
Application.MessageBox ('没有符合条件的信息!',pchar(Caption),MB_OK);
exit;
end;
begin
if Edit1.Text='' then
begin
showmessage('输入数据在进行查询');
abort;
end;
with adoquery1 do
begin
close;
sql.clear;
sql.text:='select * from delphi where name="'+edit1.text+'"';
try
open;
except
execsql;
end;
if recordcount=0 then
begin
Application.MessageBox ('没有符合条件的信息!',pchar(Caption),MB_OK);
exit;
end;
end;end;