adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from renyuan where 名称='+ComboBox1.text;
adoquery1.open;
可以通过编译,但是运行后就会弹出一个错误:在将varchar值 '办公室'转换成数据类型int时失效。
我试过了,如果我把数据库中所有的中文内容都改成数字,就不会报错,但是变成中文就会出问题,我很奇怪,我的sql2005字段是varchar型的,为什么会报错呢?
我通过网上找到了一个办法:
adoquery1.SQL.Add('select * from renyuan where 名称=:mc');
ADOQuery1.Parameters.ParamByName('mc').Value:=ComboBox1.text;
这样就不会有问题,数据库中是中文也能正常运行。
各位高手,我问这个问题不是为了解决问题,因为通过ADOQuery1.Parameters.ParamByName('mc').Value:=ComboBox1.text;
可以正常运行,但是我就是不明白,为什么我自己那种直接=combobox1.text就不行?非要用上面我说的那种才可以呢? 我是个新手 我求个明白 谢谢了!
我用delphi做了一个查询,通过adoqueryl来查询。但是报错,请告诉为为什 ...
原因是:combobox1.text虽然是string型,但在sql中,字符型变量前后要增加一个单引号
delphi 报错,我不会改啊!修改密码代码
[Error] xs_Chpass.pas(50): ';' expected but 'IF' found \/\/仔细检查“IF”和“END”,看是否配套,应该是多了一个 [Error] xs_Chpass.pas(53): Undeclared identifier: 'edit2' \/\/edit2未标识 [Error] xs_Chpass.pas(54): Undeclared identifier: 'edit3'\/\/edit3未标识 [Error] x...
delphi中如何用adotable进行条件查询
无论你用什么控件连接数据库,查询语句都是用SQL,这个是不会错的,但是由于table没有SQL属性,所以还是需要用adoquery控件来输入查询语句了,在SQL属性里面,如果直接只用table连接数据库,那么只有在别的控件下,比如按钮的触发事件中来查询了。也许直接用table也可以实现,但是我不会,请高手指正 ...
delphi 最大值的查询
这样写是肯定行的,而且你那句ADOQuery1.SQL.Add('select max(ID) from plan '); 语法也没错。出现list index out of bounds(0)的提示,检查一下你的数据库连接等等,使用Access的话,连接时使用完整数据库路径试试