为什么这样写查询会有问题呢

fangzheng33 2003-06-29 03:43:17
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
Query1.close;
Query1.sql.clear;
if(form1.Edit1.Text <>'')THEN
BEGIN
s:=Edit1.text;
Query1.sql.add('select * from 学生 where 学号 =s');
END ;
Query1.open;

end;
编译没有问题,但是运行后输入学号说,S是无效的列
我想通过EDIT上输入的字符来进行学号查询
~~
...全文
58 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
blueshu 2003-06-29
  • 打赏
  • 举报
回复
Query1.sql.add('select * from 学生 where 学号 =''' + edit1.text + '''');
firetoucher 2003-06-29
  • 打赏
  • 举报
回复
晕,
Query1.sql.add('select * from 学生 where 学号 =' + edit1.text);
或者
Query1.sql.add('select * from 学生 where 学号 =''' + edit1.text + '''');
sql并不能帮你解释s,而是将它传到服务器!
fangzheng33 2003-06-29
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var s,s1:string;
begin
Query1.close;
Query1.sql.clear;
if(form1.Edit1.Text <>'')THEN
BEGIN
s:=Edit1.text;
s1:='select * from 学生 where 学号='+s;

Query1.sql.add(s1);
END ;
Query1.open;

end;
我这样写就OK
不知道为什么啊
指教ING

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧