数据库查找Where条件指定中的奇怪问题,请高手指点!

dukcho 2003-08-24 04:24:53
您好:
用Dephi做的一个小数据库程序,数据库是Access,我想查处某一个字段为空的全部记录,比如name字段为空(""),name字段的类型是文本类型;我在Query的SQL语句where子句指定为: where name='''' ,查不出来name为空的记录,where子句指定为: where name="" 还是查不出来记录为空的记录.

请高手指教如何查出来字段(字符串类型)为空的记录?

小弟刚学习Dephi,不知道Dephi中的字符串中的双引号和单引号的使用,不知道是不是和这个有关.

谢谢大家关注!
...全文
52 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dukcho 2003-08-24
  • 打赏
  • 举报
回复
谢谢大家帮助,问题解决了,改为:name is NULL;就对了:)
karach 2003-08-24
  • 打赏
  • 举报
回复
我的观点如下:
1.纪录为空是<NULL>,还是空格,这是两个不同的概念,你用的=""是肯定错的,应该是name='',但这只是表示空格,不表示<NULL>,表示<NULL>的我不知道用nil可不可以,我没有调试过。
2.我的观点是在SQL Server下,至于Access,我不知道是不是这样。
仅供参考!
匿名用户12345 2003-08-24
  • 打赏
  • 举报
回复
解决办法一

定义一个 变量

var
k:char;
begin

k:='';

解决办法2

s:='select * from *.db where name = '+'''';


query.close;
query.sql.clear;
query.sql.text:=s;
query.open;
漠北刀客 2003-08-24
  • 打赏
  • 举报
回复
Adoquery1.recordset := AdoConnection1.Execture('Select * from Table Where Name = Null');
Adoquery1.open;
dukcho 2003-08-24
  • 打赏
  • 举报
回复
不行啊:where子句加上引号为:'where name= ''',这样编译通不过的!
sixgj 2003-08-24
  • 打赏
  • 举报
回复
select * from *.db where name = ''
hansome 2003-08-24
  • 打赏
  • 举报
回复
name = ''

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧