Delphi中的查询语句的问题 Select
有一段代码是为了检验在dbedit中提交的字段是否与DBGrid中的字段重复并且提交的字段不能为空代码如下if(DBedit2.text<>'')thenbeginwit...
有一段代码是为了检验在dbedit中提交的字段是否与DBGrid中的字段重复并且提交的字段不能为空
代码如下
if(DBedit2.text<>'')then
begin
with adoquery1 do begin
close;
sql.Clear;
sql.Add('select * from xsda where 姓名=' + dbedit2.text);
open;
end;
if adoquery1.RecordCount>0 then
begin
showmessage('该姓名已存在!');
end
else
begin
application.MessageBox ( '输入不能为空!','提示:',mb_ok);
end;
end;
当运行程序时到保存dbedit的数据时 报错 错误类型为 :XXX,标准表达式中数据类型不匹配,估计问题出在
sql.Add('select * from xsda where 姓名=' + dbedit2.text);
该句的 dbedit2.text 上 ,在xsda表中 姓名的字段类型为文本, 请问 我该如何修改?
能不能直接把代码 写好呢。。 我按照您汉语表达的写了一次 还是报错 数据库是access的 展开
代码如下
if(DBedit2.text<>'')then
begin
with adoquery1 do begin
close;
sql.Clear;
sql.Add('select * from xsda where 姓名=' + dbedit2.text);
open;
end;
if adoquery1.RecordCount>0 then
begin
showmessage('该姓名已存在!');
end
else
begin
application.MessageBox ( '输入不能为空!','提示:',mb_ok);
end;
end;
当运行程序时到保存dbedit的数据时 报错 错误类型为 :XXX,标准表达式中数据类型不匹配,估计问题出在
sql.Add('select * from xsda where 姓名=' + dbedit2.text);
该句的 dbedit2.text 上 ,在xsda表中 姓名的字段类型为文本, 请问 我该如何修改?
能不能直接把代码 写好呢。。 我按照您汉语表达的写了一次 还是报错 数据库是access的 展开
3个回答
展开全部
这里出错了,
sql.Add('select * from xsda where 姓名=‘’‘ + dbedit2.text+’‘’‘);
注意引号的使用,少一个都不行的。
Edit.text 前后各三个引号,后者加第一处的单引号共四个。
格式
sql.add(单引号select * from xsda where 姓名=单引号 双引号 + dbedit2.text+双引号 单引号 单引号);
用文字表述可能更容易理解。
单引号和双引号都是配对存在的,此处的双引号是添加空格的意思,即两个单引号中间夹着空值,即空格。
sql.Add('select * from xsda where 姓名=‘’‘ + dbedit2.text+’‘’‘);
注意引号的使用,少一个都不行的。
Edit.text 前后各三个引号,后者加第一处的单引号共四个。
格式
sql.add(单引号select * from xsda where 姓名=单引号 双引号 + dbedit2.text+双引号 单引号 单引号);
用文字表述可能更容易理解。
单引号和双引号都是配对存在的,此处的双引号是添加空格的意思,即两个单引号中间夹着空值,即空格。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-12-03
展开全部
应该这样:
if 条件 then
begin
语句;
if 条件
then 语句
else 语句
end;
原则:if之后必须有then,可以选择有else,但是else前面不能有分号
sql='select * from loginInfo where username=''+Edit1.Text+''';
应该修改为:
sql='select * from loginInfo where username="'+Edit1.Text+'"';
if 条件 then
begin
语句;
if 条件
then 语句
else 语句
end;
原则:if之后必须有then,可以选择有else,但是else前面不能有分号
sql='select * from loginInfo where username=''+Edit1.Text+''';
应该修改为:
sql='select * from loginInfo where username="'+Edit1.Text+'"';
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql.Add('select * from xsda where 姓名=''' + dbedit2.text + '''');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询