直接带值,没错啊! 是不是带了参数了? vsql:='select * from jzb where BaseCateName='''+Variant1+'''';
弹出错误信息 General sql error. [microsoft][ODBC microsoft access driver]Too few paramaters.Excepted 1. 我用的是ODBC建的数据源。
用...BaseCateName='''+'1100'+''''就可以
试过了,用vsql:='select * from jzb where BaseCateName='''+'1100'+'''';也不行 还是一样弹出上面的错误信息。
的确没有错误呀!DELPHI中两个单引号表示一个字符串字符(')。 要不你换一种方法试试: query1.close; query1.sql.Clear; vsql:='select * from jzb where BaseCateName='+chr(39)+'1100'+chr(39); query1.SQL.Add(vsql); query1.open; 其中,chr(39)表示一个(')。
其实单双引号无所谓的,一般在delphi中你在字符串中使用双引号就相当于非字符串的一个单引号,比如: 'select * from table_name where fieldname="12323"'= 'select * from table_name where fieldname=''12323'''
看看你的QUERY组件的PARAMS属性里有没有什么东西?如果有,清空。
改用参数赋值语句吧! select * from jzb where BaseCateName=:p_basecatename//冒号后面是参数 ... parambyname('p_basecatename').value:='Variant1'
用 vsql:='select * from jzb where BaseCateName='+chr(39)+'1100'+chr(39); 也不行!!! 另外用 'select * from jzb where BaseCateName="1100"' 的话,在query组件的 sql中都行不同。
其实单双引号无所谓的,一般在delphi中你在字 符串中使用双引号就相当于非字符串的一个单引号,比如: 'select * from table_name where fieldname="12323"'其实相当于 'select * from table_name where fieldname=''12323'''估计是你的query里面带了参数
是不是带了参数了?
vsql:='select * from jzb where BaseCateName='''+Variant1+'''';
General sql error.
[microsoft][ODBC microsoft access driver]Too few paramaters.Excepted 1.
我用的是ODBC建的数据源。
还是一样弹出上面的错误信息。
要不你换一种方法试试:
query1.close;
query1.sql.Clear;
vsql:='select * from jzb where BaseCateName='+chr(39)+'1100'+chr(39);
query1.SQL.Add(vsql);
query1.open;
其中,chr(39)表示一个(')。
'select * from table_name where fieldname=''12323'''
select * from jzb where BaseCateName=:p_basecatename//冒号后面是参数
...
parambyname('p_basecatename').value:='Variant1'
vsql:='select * from jzb where BaseCateName='+chr(39)+'1100'+chr(39);
也不行!!!
另外用 'select * from jzb where BaseCateName="1100"' 的话,在query组件的 sql中都行不同。
符串中使用双引号就相当于非字符串的一个单引号,比如:
'select * from table_name where fieldname="12323"'其实相当于
'select * from table_name where fieldname=''12323'''估计是你的query里面带了参数
用bde连接db,用单引号或者双引号都可以
但是用ado连接,必须用单引号。
你的语句没有问题
bde连接db时,user和password在那里设定?
USER和PASSWORD在BDE里可以设置。