if txtGrade.Text <> "" Then
If chkMoHu.Value = 1 Then
strCon(5) = "SC.grade like '" & txtGrade.Text & "%"
Else
strCon(5) = "SC.grade ='" & txtGrade.Text & "'"
End If
Else
strCon(5) = ""
End If
strSQL = "select SC.Sno,Student.Sname,SC.Cno," _
& " Course.Cname,SC.grade from SC,Student,Course " _
& " where SC.sno=Student.sno and SC.Cno=Course.Cno "
For i = 1 To 5
If strCon(i) <> "" Then
strSQL = strSQL + " and " + strCon(i)
End If
Next
Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;Data Source=ST;Initial Catalog=S-T"
Adodc1.CursorLocation = adUseClient
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = strSQL
[b]Adodc1.Refresh
除錯后顯示出錯在adodc1.refresh這塊,你能幫我看下哪里有問題嗎?謝謝
uj5u.com熱心網友回復:
%后面少一個英文的單引號。uj5u.com熱心網友回復:
這個問題,你首先要自己分析一下"SQL陳述句"字串是否合法啊。它提示“運行時錯誤”時,你點“除錯”按鈕。
然后,IDE執行中斷,暫停在引起例外的執行陳述句上。
你按鍵盤“Ctrl+G”打開立即視窗,輸入下面這條命令并按回車鍵:
? strSQL
它會把你“組合出的SQL陳述句”內容顯示出來,
你自己看看這個查詢陳述句有什么問題,也許你自己就知道是啥原因、如何更正代碼了。
uj5u.com熱心網友回復:
strCon(5) = "SC.grade like '" & txtGrade.Text & "%"改成 "SC.grade like '%" & txtGrade.Text & "%‘’"uj5u.com熱心網友回復:
注釋掉所有On Error Resume Next陳述句,在VB6 IDE中運行,出錯后點擊除錯,游標會停在出錯的那條陳述句處,
或者
事先在懷疑可能有邏輯錯誤的陳述句處設定斷點,運行經過斷點時中斷,
此時可以在立即視窗中使用
?變數名
或
?函式名(函式引數)
或
程序名(引數)
輔助除錯。
uj5u.com熱心網友回復:
注意下成績欄位的資料是數字還是字符欄位,兩者SQL查詢句寫法不同,字符欄位可用模糊查詢,數值欄位只能用>=、<=等來判別。uj5u.com熱心網友回復:
strCon(5) = "SC.grade like '" & txtGrade.Text & "%'"轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/49994.html
上一篇:新人想入行VB,請高手指教
