请问一下高手,我在VB中使用查询功能,有一个sql表中有姓名和电话号码,我写的语句为
Private Sub find_Click()
strsql = ""
If Trim(name_find.Text) <> "" Then
If strsql = "" Then
strsql = "姓名='" & Trim(name_find.Text) & "'"
Else
strsql = strsql + " and 姓名='" & Trim(name_find.Text) & "'"
End If
End If
If Trim(phone_find.Text) <> "" Then
If strsql = "" Then
strsql = "电话号码='" &Trim(homephone_find.Text) & "'"
Else
strsql = strsql = " and 电话号码='" & Trim(phone_find.Text) & "'"
End If
End If
If strsql = "" Then
Adodc1.RecordSource = "select * from phone"
Adodc1.Refresh
Else
Adodc1.RecordSource = "select * from phone where " + strsql
Adodc1.Refresh
End If
End Sub
以上语句如果我同时输入姓名和电话号码进行查询的时候会出现类型不匹配,请问一下是否需要使用一个什么样的函数转换一下类型?具体该怎么修改?非常感谢!
我现在调试了一下发现,如果只输入其中一个条件,另一个条件为空,可以正常运行,但是同时输入两个查询条件的话就会出现“类型不匹配”,我试了好多个字段都是这种情况,只输一个可以,但同时输入多个条件就不行,请问该如何解决,谢谢!
ä¸ï¼æ纵æ°æ®åºï¼VBå¿ é¡»æ£ç¡®ä½¿ç¨SQLç»æåæ¥è¯¢è¯å¥ï¼å°å ¶èµå¼ç»ADOæ°æ®æ§ä»¶çRecordSourceå±æ§ã
äºï¼æ¼æ¥SQLç»æåæ¥è¯¢è¯å¥çæ¡ä»¶é¨åçå¤æè¯å¥ç»æåºè¯¥æ¯ç®æ´ææã
å·²å°åæé®çClickäºä»¶ä»£ç ä¿®æ¹ä¸ºè½ææç»ADOæ°æ®æ§ä»¶RecordSourceå±æ§ï¼å»å®ææ°æ®æ¥è¯¢ã
SQLç»æåæ¥è¯¢è¯å¥
ç»æåæ¥è¯¢è¯è¨(Structured Query Language)ç®ç§°SQL(åé³ï¼/ˈes kjuː ˈel/ "S-Q-L")ï¼æ¯ä¸ç§ç¹æ®ç®ççç¼ç¨è¯è¨ï¼æ¯ä¸ç§æ°æ®åºæ¥è¯¢åç¨åºè®¾è®¡è¯è¨ï¼ç¨äºååæ°æ®ä»¥åæ¥è¯¢ãæ´æ°å管çå ³ç³»æ°æ®åºç³»ç»ï¼åæ¶ä¹æ¯æ°æ®åºèæ¬æ件çæ©å±åã
ç»æåæ¥è¯¢è¯è¨æ¯é«çº§çéè¿ç¨åç¼ç¨è¯è¨ï¼å 许ç¨æ·å¨é«å±æ°æ®ç»æä¸å·¥ä½ãå®ä¸è¦æ±ç¨æ·æå®å¯¹æ°æ®çåæ¾æ¹æ³ï¼ä¹ä¸éè¦ç¨æ·äºè§£å ·ä½çæ°æ®åæ¾æ¹å¼ï¼æä»¥å ·æå®å ¨ä¸ååºå±ç»æçä¸åæ°æ®åºç³»ç», å¯ä»¥ä½¿ç¨ç¸åçç»æåæ¥è¯¢è¯è¨ä½ä¸ºæ°æ®è¾å ¥ä¸ç®¡ççæ¥å£ãç»æåæ¥è¯¢è¯è¨è¯å¥å¯ä»¥åµå¥ï¼è¿ä½¿å®å ·ææ大ççµæ´»æ§å强大çåè½ã
Option Explicitç«å³çªå£æ¾ç¤ºæ£ç¡®çSQLè¯å¥ã