请教一个SQL的问题,请大家帮忙,急呀(50分)

  • 主题发起人 主题发起人 雨云
  • 开始时间 开始时间

雨云

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是Access2000的数据库,我在里面有一个字段!是字符型,最长30
我想用SQL语言查询这个字段非空的所有数据,代码如下:
其中的“银行账号”就是那个字符段

tmpADOQuery.SQL.Text := 'select * from 员工工资 where id > 0 and 实领金额>0 and 银行账号<>'''' order by 序号';

可是运行报错:
tmpADOQuery:Type mismatch for field '银行账号',expecting:BCD actual:WideString'.
 
tmpADOQuery.SQL.Text := 'select * from 员工工资 where id > 0 and 实领金额>0 and 银行账号<>'
+''''+''+''''+' order by 序号'
 
tmpADOQuery.SQL.Text :=
'select * from 员工工资 where id > 0 and 实领金额>0 and 银行账号<>'
#39+#39+' order by 序号'
 
没有用的,还是报一样的错
 
空值和''是不一样的,你试试and 银行账号 is not null
 
不行呀,看来是个很难的问题,我把分加大点吧
 
晕倒,怎么加分呀~
 
用下列方法試試
with tmpADOQuery do begin
close;
sql.Clear;
sql.Add ('select * from 员工工资 ');
sql.Add (' WHERE where id > 0 and 实领金额>0 and 银行账号<>''');
sql.Add (' order by 序号 ');
open;
end;
不行請將錯誤代碼列出.
 
tmpADOQuery.SQL.Text := 'select * from 员工工资 where (id > 0) and (实领金额>0) and (银行账号 is not null) order by 序号';
我在Win2000P+D5环境下调试成功.
 
enabled bcd 设为false 看看
 
错误信息为:
tmpADOQuery:Type mismatch for field '银行账号',expecting:BCD actual:WideString'

楼上的那位朋友说的bcd是什么?
 
adotable或adoquery的enablebcd属性,银行账号是字符型的吗?
 
看一下你的表结构
 
我是在ACCESS XP里面建的表格,这个字段是文本类型。长度30
 
是应该将EnableBCD设置为False
 
好的,我去试试看
 
还是不行呀
 
后退
顶部