构建了procedure过程,运行时出现“无效字符”错误提示?
我开始写了如下语句,后来发现第一段和第二段几乎是重复的。
procedure Temployee_addfrm.FormActivate(Sender: TObject);
begin
with datamodule1.comboquery do
begin
//第一段//
sql.clear;
sql.add('select myitem from comboitem where mycode like ''xl%''');
open;
while not eof do
begin
edulevel.Items.add(fieldbyname('myitem').asstring);
next;
end;
//第二段//
sql.clear;
sql.add('select myitem from comboitem where mycode like ''zzmm%''');
open;
while not eof do
begin
clan.Items.add(fieldbyname('myitem').asstring);
next;
end;
所以想构建一个过程,以避免重复语句,如下,可是运行时总是提示"无效字符"
procedure com(var com:Tcombobox;mystring:string);
begin
with form1.Query1 do
begin
sql.clear;
//以下语句对否?特别是mystring%一处//
sql.add('select myitem from comboitem where mycode like mystring%');
active:=false;
active:=true;
first;
while not eof do
begin
com.Items.add(fieldbyname('myitem').asstring);
next;
end;
end;
end;
procedure Temployee_addfrm.FormActivate(Sender: TObject);
begin
//想找类似xl01,xl02的项//
com(combobox1,'xl');
com(combobox2,'zzmm');
end;
到底是怎么回事呀,请指教。
问题点数:10、回复次数:6Top
1 楼WuHeHai(风之影)回复于 2001-05-04 16:06:00 得分 0
//以下语句对否?特别是mystring%一处//
sql.add('select myitem from comboitem where mycode like ' + Trim(MyString) + '%''' );
Top
2 楼iseeks(iseeks)回复于 2001-05-04 16:14:00 得分 0
我改了,可是又提示“missing right quote"Top
3 楼grandboy(ΰ)回复于 2001-05-04 16:21:00 得分 0
我建议你在把程序中在修改SQL属性之前先Close 一下Query1,我想一定是这里出了问题的Top
4 楼iseeks(iseeks)回复于 2001-05-04 16:27:00 得分 0
还是不行,说"missing right quote",蓝条显示在first;一行上。Top
5 楼WuHeHai(风之影)回复于 2001-05-04 16:33:00 得分 0
是不是少敲了引号,%号后面可有三个引号!Top
6 楼WuHeHai(风之影)回复于 2001-05-04 16:34:00 得分 10
对不起,是我错了。
应该是:
sql.add('select myitem from comboitem where mycode like ''' + Trim(MyString) + '%''' );
Top




