机房收费系统差不多快做完了,在vb中建立sql语句让我着实头疼了不少时日,因为没有真正理解,所以致使自己焦头烂额。也只有经历过了才有收获。这是一个零碎的知识点,细节的东西也是很重要的。还是把代码贴出来,这样一看就明白了
txtSQL1 = "select * from student_Info where " & fieldName1 & "" & Trim(cboFu1.Text) & " " & " '" & Trim(txtContent1.Text) & "'" txtSQL2 = fieldName2 & Trim(cboFu2.Text) & " '" & Trim(txtContent2.Text) & "'" txtSQLA = "select * from ReCharge_Info where date='" & Cdaytime & "'and time='" & nowTime & "'" txtSQL = "select * from ReCharge_Info where date between ' " & Format(cboStartDate.Text, "yyyy-MM-dd") & "'" & "And " & " '" & Format(cboEndDate.Text, "yyyy-MM-dd") & "'"
重点在于掌握vb和sql中字符串的表达方式、字符串中嵌套变量字符串以及嵌套字符串之间的连接。
第一行的" & fieldName1 & " :是放到vb字符串中的字符变量,要放到"& &"这样的格式中方可显示变量代表的值,""的含义是字符串之间的链接,& &的含义是将一个变量名转换成所存放的实际变量的值。
第一行中的第二个红色标记" & " :的意思是在vb字符串内部连接sql赋值语句和它前面的用变量转化过来的赋值符号。必不可少。
第一个语句和最后一个语句中对比:" & "And" & " 它是嵌套在sql语句中的vb的连接字符串,前后的两个表示都不能少。
最后一句和第三句对比:第三句是针对连个字段的赋值,直接用and连接即可;最后一句是对一个字段的赋值中嵌套到了vb的连接字符串and,所以要有相应的转换符号。
分析第二句:不难发现变量如果不放在字符串内,就可直接用。