我的代码是这样的
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add( 'select * from 表 where 字段名 = :参数');
adoquery1.Parameters.ParamByName('参数').Value:=edit1.text;
daoquery1.open;
错误提示是 至少有一个参数没被指定值
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add( 'select * from 表 where 字段名 = :参数');
adoquery1.Parameters.ParamByName('参数').Value:=edit1.text;
daoquery1.open;
错误提示是 至少有一个参数没被指定值
adoquery1.sql.clear;
adoquery1.Parameters.ParamByName('参数').Value:=edit1.text;
adoquery1.sql.add( 'select * from 表 where 字段名 = :参数');daoquery1.open;
adoquery1.sql.clear;
adoquery1.sql.add( 'select * from 表 where 字段名 = '''+edit1.text+'''');
daoquery1.open;
这样岂不更好?
adoquery1.sql.add( 'select * from 表 where 字段名 = :参数');这句话里的 = : 你换成=; 也就是 英文输入法的状态下 输入2.因为是动态查询也可能adoquery1你并没有指定数据库啊 3.我觉的你的写法没有问题
adoquery1.sql.add( 'select * from 表 where 字段名 = :参数');这句话里的 = : 你换成=: 也就是 英文输入法的状态下 输入
修正一下
http://www.cnkernel.com/wncx.rar
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add( 'select * from 表 where 字段名 = :参数');
adoquery1.Parameters.ParamByName('参数').Value:=edit1.text;
daoquery1.open;Access数据库,不支持参数名。应该改为这样:with adoquery1 do
begin
close;
sql.clear;
sql.add( 'select * from 表 where 字段名 = :1');
//确定第一个参数的数据类型
Parameters[0].DataType := ftString;
//确定第一个参数的值
Parameters[0].Value:=edit1.text;
open;
adoquery1.sql.clear;
adoquery1.sql.add( 'select * from 表 where 字段名 = :参数');
adoquery1.Parameters.ParamByName('参数').Value:=edit1.text;
daoquery1.open;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select * from 表 where 字段名=:参数');
adoquery1.Parameters.ParamByName('参数').Value:=edit1.text;
adoquery1.open;
adoquery1.sql.clear;
adoquery1.sql.add( 'select * from 表 where 字段名 = '''+edit1.text+'''');
daoquery1.open;
adoquery1.sql.clear;
adoquery1.sql.add('select * from 表 where 字段名=:xx);
adoquery1.Parameters.ParamByName('xx).Value:=edit1.text;
adoquery1.open;adoquery1的Parameters要添加一个参数(xx')