如果您不是采用参数查询,而是在QUERY的SQL属性中ADD的话要注意字段的类型。
例如字段是整型时,可以这样:
SELECT * FROM DATA.DBF WHERE NAME=888
//直接在等于后写要比较的值
当字段是字符型时,要这样:
SELECT * FROM DATA.DBF WERER NAME='汤笑'
//注意单引号
如果您是用EDIT1来输入姓名的,可以这样:
QUERY1.CLOSE;
QUERY1.SQL.CLEAR;
QUERY1.SQL.ADD('SELECT * FORM DATA.DBF');
QUERY1.SQL.ADD('WHERE NAME='''+EDIT1.TEXT+'''');
QUERY1.OPEN;
如果您的其他属性都设置正确了,DBGRID1中就能显示出
//假定您是用DBGRID,DATASOURSE,QUERY来连接的.
姓名等于'汤笑'所有人员.
另外,SQL可以使用通配符,比如%代表任意长度的字符,以上语句可以
写成:
QUERY1.CLOSE;
QUERY1.SQL.CLEAR;
QUERY1.SQL.ADD('SELECT * FORM DATA.DBF');
QUERY1.SQL.ADD('WHERE NAME=''%'+EDIT1.TEXT+'%''');
QUERY1.OPEN;
这样,当您在EDIT1中输入'汤'时,查询出的结果就是所有姓名中
包含'汤'的人员,什么'汤笑','汤镇宗','菜汤'都出来啦!