学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

sql语句的问题

sql语句的问题

本人刚接触delphi
在数据库中有张表
字段是 name nvarchar(20)
        age int
两个字段
sql语句是这样写的
sql:='insert into [tablename] values('''+edtname.Text+''','+strtoint(edtage.Text)+')'
但总是提示sql语句错误!
请帮我看下怎么改,谢谢

TOP

将括号里面的.text去掉看看

TOP

edtname.Text edtage.Text 这两个.text

TOP

引用:
sql:='insert into [tablename] values('''+edtname.Text+''','+strtoint(edtage.Text)+')'
sql是String类型的,把strtoint()的整数结果赋值绩给字符串类型的变量,能不错吗
在Delphi中,SQL语句是字符串类型,在数据库系统中数字字段可以不用引号引起来,但那是提交到数据库系统后的形式,就相当于:
insert into [tablename] values('rindybo',20)
而提交到数据库系统之前在Delphi里构造的时候,上面那一串是字符串来的,只是少了两个引号:
sql:='insert into [tablename] values('''+edtname.Text+''','+edtage.Text+')'

假如在edtname和edtage两个编辑框里分别输入rindybo20

要搞清楚引号的用法,不要表错情了
爱我至爱,至死不渝!

TOP

这个语句如果你不确实可以SHOWMESSAGE一下
另外可以写成参数化的
sql:='INSERT INTO [tablename] VALUES (:v1,:v2)';
parameters.ParamByName('v1').AsString=EdtName.Text;
parameters.ParamByName('v2').AsInteger:=StrToInt(EdtAge.Text);

TOP

发新话题