如果有一个字符串比如str:=‘姓名 张三’,str的内容未知,但格式为‘¥¥ ××’,怎样利用ADOQuery.SQL.Add(select * from table where....)来查询呢?其中,¥¥为table中的一列的名称,××为其对应的内容。
另外,当要查询的表名也为一个变量时又该怎么办呢?
另外,当要查询的表名也为一个变量时又该怎么办呢?
解决方案 »
- 求mdx语法,sql2005
- 紧急求助:投影机问题,使用过的朋友过来看看(非技术区发这种贴应该没关系吧)
- 怎样简单调用线程?
- 如何使DBGRID具有如下快捷键功能?
- 使用循环给多个控件赋值
- 请问如何屏闭掉Edit1的右键。
- 刷新表的时候提示it is not uniquely indexed?应该如何解决啊?
- label的问题
- 创建邮件发送程序进程及应用(送分求助)
- bcb,我在调用线程的时提示“fffffffff"等一串的错误,我不太熟,你能给我一个你的程序吗?可以的话,email:[email protected],谢谢!!!
- gdi+,delphi编程,内存缓慢增加,求原因
- 请教ADOQuery中修改数据的问题
ss='select * from '+表名变量+' where '+列名变量+'=姓名 张三';
adoquery.sql.add(ss);
var
s,table,rowname:string;
begin
table := '人口查询';
rowname := '姓名';
s := 'select * from'+ table + 'where' + rowname + '=' + #39+'刘玉涛'+#39;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(s);
ADOQuery1.Open;
ADOQuery1.Prepared; s:=ADOQuery1.FieldByName('身份证').AsString;
memo1.Lines.Add(s);
end;
1、不要用table这样的保留关键词做变量名。
2、要注意SQL语句中的空格(你可以把你赋值后的S显示一下看一看,是不是你想要的串)。
大体给你改一下楼上的代码:
procedure TForm1.Button1Click(Sender: TObject);
var
s,tbName,rowname:string;
begin
table := '人口查询';
rowname := '姓名';
s := 'select * from '+ tbName + ' where ' + rowname + '=' + #39+'刘玉涛'+#39;
ADOquery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(s);
ADOQuery1.Open;
//ADOQuery1.Prepared; s:=ADOQuery1.FieldByName('身份证').AsString;
memo1.Lines.Add(s);
end;