关于sql语句的问题(20分)

  • 主题发起人 主题发起人 iforward
  • 开始时间 开始时间
I

iforward

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在在窗体上有很多个edit
现在是我想在把edit中的内容insert到数据库中
所以用的sql语句
是 insert table1(field1,field2,fiedl3,field4) values (edit1.text,edit2.text,edit3.text,edit4.text)
sql语句语法没有问题 但是有时 edit控件中的内容可以为空的
那么上面的sql语句再执行的时候就出问题了
所以我想问 这个时候的sql语句到底该如何写
谢谢
 
insert table1(field1,field2,fiedl3,field4)
select isnull(edit1.text,0),isnull(edit2.text,0),isnull(edit3.text,0),
isnull(edit4.text,0)
 
TO 楼主:
如果字段是字符型的,可以将edit的内容加上引号放到Value子句中,这样即使Edit中没有内容也不会错,如果字段是数值型的,则在构建Value子句时需要判断Edit内容是否为空,为空则用零替找。
 
用QuotedStr()
 
sql.clear;
sql.add(' insert into table1 field1,field2,fiedl3,field4');
sql.add(' values('''+edit1.text+''','''+edit2.text+''','''+edit3.text+''','''+edit4.text+''' ');
 
考虑下数据库中表的结构和你插入的类型是不是一致~
如果是字符型的话可以使用
insert table1(field1,field2,fiedl3,field4) values (QuotedStr(edit1.text),QuotedStr(edit2.text),QuotedStr(edit3.text),QuotedStr(edit4.text))
 
后退
顶部