在CONN.EXECUTE SQL的SQL字条串中,引用的各种类型的变量,有值和无值时,都应该注意哪些情况。
在CONN.EXECUTE SQL的SQL字条串中,引用的各种类型的变量,有值和无值时,都应该注意哪些情况,也就是都应该怎么写。 --------------------编程问答-------------------- 通常会先做判断1。必须的
if trim(text1.text) ="" then
msgbox "name必须输入"
exit sub '退出,不做查询
end if
2。可有可无
if trim(text1.text)<>"" then
strSql=strSql & " and emp_name = '" & trim(text1.text) & "' "
end if --------------------编程问答-------------------- 判断变量是否有值,如果有则添加到sql语句中 --------------------编程问答--------------------
有值时注意:变量类型是日期或字符串的要用单引号引起来
无值时注意:用NULL,表的这个字段要允许空
25,'message','2009-09--02 12:10:10',NULL --------------------编程问答--------------------
日期不是得用两个#号,一前一后放在日期的两侧吗?你所说的'号和#的作用是一样的吗? --------------------编程问答-------------------- access中日期要用##,文本等用'' --------------------编程问答-------------------- 其他数据库不是像access日期用## --------------------编程问答-------------------- 补充一下,我用的是VB6+ACCESS2003+ ADO.
如果我的一个SQL语句中要引用多个控件的值,其中有7、8个控件可能是空值,我不可能每个控件都判断一下是否为空,而后再写SQL,那样的话太过复杂,如何才能保证这7、8个有整数、双精、日期、文本等各式各样的控件不论空白或有值都能保证SQL的正常执行呢? --------------------编程问答-------------------- 如果是查询条件就必须判断,不判断会影响查询
你的sql贴出来,看你怎么用的 --------------------编程问答-------------------- (a)数据库中表的约束和你的代码控制结合起来用,
比如你的表中某个字段不允许为空,可以在向数据库中插入数据的时候作限制;
(b)还有个方法,就是设计表的时候,让字段都有个默认值,这样就不用管数据为空的问题了,
不过这样得占用一定的数据存储空间
--------------------编程问答-------------------- 我的数据库中的字段全部是可能为空的。 --------------------编程问答--------------------
这个貌似和lz的问题是两回事 --------------------编程问答-------------------- 补充一下,我用的是VB6+ACCESS2003+ ADO.
如果我的一个SQL语句中要引用多个控件的值,其中有7、8个控件可能是空值,我不可能每个控件都判断一下是否为空,而后再写SQL,那样的话太过复杂,如何才能保证这7、8个有整数、双精、日期、文本等各式各样的控件不论空白或有值都能保证SQL的正常执行呢?
补充:VB , 网络编程