procedure TForm1.Button1Click(Sender: TObject);
var
x:string;
begin
x:=edit1.Text;
query1.Close;
query1.SQL.Clear;
query1.sql.Add('select * from people where 姓名=x');
query1.open;
dbgrid1.datasource:=datasource1;
dbgrid1.refresh;
end;
end.
其中 people 为数据表名 姓名为字段名称
系统提示错误信息 x为无效字段
var
x:string;
begin
x:=edit1.Text;
query1.Close;
query1.SQL.Clear;
query1.sql.Add('select * from people where 姓名=x');
query1.open;
dbgrid1.datasource:=datasource1;
dbgrid1.refresh;
end;
end.
其中 people 为数据表名 姓名为字段名称
系统提示错误信息 x为无效字段
解决方案 »
- 自动编号问题
- 关于播放器的问题?
- 请问在delphi中怎样可以打开另外的一个exe程序, 并可以检测到它关闭
- T-SQL中调用一个有返回值的外部程序,如何得到返回值?
- 请问哪位兄台知道通过一个程序来随时改变电脑上的硬盘的占用空间。比如说我们输入C盘、80%,就可以实现C盘占用这么多空间。最好是不要通过
- SQL出来的数据是不可以INSERT UPDATE DEL的,那么视图和SQL出来的数据都不可以INSERT UPDATE DEL吗
- 请教ToolBar问题
- http://www.csdn.net/expert/topic/504/504416.shtm 这个地址我一进,浏览器就没有回应了,这是我提的一人问题啊,大家帮忙看看,这是什么回事,不是我的问题,进其它问题一切正常。
- Tedit文本框的对齐方式.默认是向左对齐,能不能设置为向右对齐呢?
- 菜鸟问题..下载后的控件如查使用???
- dll的编写问题
- DELPHI中有关Access数据库的一个问题(急,在线等!)
var
x:string;
begin
x:=edit1.Text;
query1.Close;
query1.SQL.Clear;
query1.sql.Add('select * from people where 姓名='+x);
query1.open;
dbgrid1.datasource:=datasource1;
dbgrid1.refresh;
end;
end.
其中 people
1、query1.sql.Add('select * from people where 姓名='''+x+'''');
2、query1.sql.Add('select * from people where 姓名='+quotedstr(X));
3、query1.sql.Add('select * from people where 姓名 = :1');
parameters.parambyname('1').value := X;
query1.sql.Add(''''+x+'''');
这样其实 sql 语句是select * from people where 姓名='参数的值'
query1.sql.Add('select * from people where 姓名='''+x+'''');
这样其实 sql 语句是select * from people where 姓名='参数的值'
query1.sql.add('select*form people where 姓名='''+edit1.text+''');
这是一个动态SQL语句问题,当SQL语句中还要用到变量的话,可以这样处理:
procedure TForm1.Button1Click(Sender: TObject);
var
x:string;
begin
x:=edit1.Text;
query1.Close;
query1.SQL.Clear;
query1.sql.Add('select * from people where 姓名=:N'); //这里‘N’可以随便取,但前面必须加上冒号;
Parameters.ParamByName('N').Value:=x;
query1.open;
dbgrid1.datasource:=datasource1;
dbgrid1.refresh;
end;
end.你试试看!