查询错在哪里? ( 积分: 10 )

  • 主题发起人 主题发起人 21816588
  • 开始时间 开始时间
2

21816588

Unregistered / Unconfirmed
GUEST, unregistred user!
在三个字段中查这句错在哪?我想应该是豆号的问题,能指出吗?ADOQuery1->SQL->Add("Select * From Telephone Where 家庭电话 like '%"+Trim(Edit1->Text)+"%'+'or 移动电话 like '%"+Trim(Edit1->Text)+"%'+'or 其它 like '%"+Trim(Edit1->Text)+"%'");
 
在三个字段中查这句错在哪?我想应该是豆号的问题,能指出吗?ADOQuery1->SQL->Add("Select * From Telephone Where 家庭电话 like '%"+Trim(Edit1->Text)+"%'+'or 移动电话 like '%"+Trim(Edit1->Text)+"%'+'or 其它 like '%"+Trim(Edit1->Text)+"%'");
 
出错的可能是引号不匹配了,试试下面的代码:
ADOQuery1->SQL->Add("Select * From Telephone Where 家庭电话 like '%"+Trim(Edit1->Text)+"%'or 移动电话 like '%"+Trim(Edit1->Text)+"%'or 其它 like '%"+Trim(Edit1->Text)+"%'");
 
还是不行。
 
报什么问题(提示)
 
Select * From Telephone Where [家庭电话] like '%"+Trim(Edit1->Text)+"%'+'or [移动电话] like '%"+Trim(Edit1->Text)+"%'+'or [其它] like '%"+Trim(Edit1->Text)+"%'"
请试一下
 
sql.Add('select * from telephone where 列名 like ''%'+'查询值'+'%''');
试过了,没问题啊!
 
ADOQuery1->SQL->Add('Select * From Telephone Where 家庭电话 like '+'''%'+Trim(Edit1->Text)+'%'''+' or 移动电话 like '+'%'''+Trim(Edit1->Text)+'%'''+' or 其它 like '+'''%'+Trim(Edit1->Text)+'%''')
你试试看
 
上面的都不对,其实就是把adoquery1.SQL.Add('select * from Telephone where 姓名 like '+Quotedstr('%'+edit1.Text+'%')+'or 移动电话 like '+Quotedstr('%'+edit1.Text+'%')+'or 其它 like '+Quotedstr('%'+edit1.Text+'%'));
这句由Delphi解为BCB C++的语言而已,这句我在Delphi中已经试过可以,只是想把它转为C++,还有在C++中是"而不是Delphi的',我看很多人都搞乱了。
 
adoquery1.SQL.Add('select * from Telephone where 姓名 like '+Quotedstr('%'+edit1.Text+'%')+'or 移动电话 like '+Quotedstr('%'+edit1.Text+'%')+'or 其它 like '+Quotedstr('%'+edit1.Text+'%'));
對就是這樣的。
 
这是在Delphi中的写法,我在Delphi中是这样写通通过,问题我正在是想在C++中实现,这样的语句不知道如何完成。
 
没人知道如何解吗?
 
ADOQuery1->SQL->Add("Select * From Telephone Where 家庭电话 like '%");
ADOQuery1->SQL->Add(Trim(Edit1->Text));
ADOQuery1->SQL->Add("%'or 移动电话 like '%");
ADOQuery1->SQL->Add(Trim(Edit1->Text));
ADOQuery1->SQL->Add("%'or 其它 like '%");
ADOQuery1->SQL->Add(Trim(Edit1->Text));
ADOQuery1->SQL->Add("%'");
 
ADOQuery1->SQL->Add('Select * From Telephone Where 家庭电话 like ''%'+Trim(Edit1->Text)+'%'''+'or 移动电话 like ''%'+Trim(Edit1->Text)+'%''+'or 其它 like ''%'+Trim(Edit1->Text)+'%''');
 
接受答案了.
 
后退
顶部