当前位置:编程学习 > VB >>

在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语句中 --------------------编程问答--------------------
引用楼主 adotaian 的回复:
在CONN.EXECUTE SQL的SQL字条串中,引用的各种类型的变量,有值和无值时,都应该注意哪些情况,也就是都应该怎么写。


有值时注意:变量类型是日期或字符串的要用单引号引起来 
无值时注意:用NULL,表的这个字段要允许空
25,'message','2009-09--02 12:10:10',NULL --------------------编程问答--------------------
引用 3 楼 chinaboyzyq 的回复:
引用楼主 adotaian 的回复:
在CONN.EXECUTE SQL的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)还有个方法,就是设计表的时候,让字段都有个默认值,这样就不用管数据为空的问题了,
不过这样得占用一定的数据存储空间

--------------------编程问答-------------------- 我的数据库中的字段全部是可能为空的。 --------------------编程问答--------------------
引用 9 楼 king06 的回复:
(a)数据库中表的约束和你的代码控制结合起来用,
比如你的表中某个字段不允许为空,可以在向数据库中插入数据的时候作限制;
(b)还有个方法,就是设计表的时候,让字段都有个默认值,这样就不用管数据为空的问题了,
不过这样得占用一定的数据存储空间


这个貌似和lz的问题是两回事 --------------------编程问答-------------------- 补充一下,我用的是VB6+ACCESS2003+ ADO. 

如果我的一个SQL语句中要引用多个控件的值,其中有7、8个控件可能是空值,我不可能每个控件都判断一下是否为空,而后再写SQL,那样的话太过复杂,如何才能保证这7、8个有整数、双精、日期、文本等各式各样的控件不论空白或有值都能保证SQL的正常执行呢?
补充:VB ,  网络编程
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,