請幫我看程式碼哪裡有問題(贈20點)
<%
a = Request("T1")
b = Request("D2")
%>
<%
Set cnDOG = Server.CreateObject("ADODB.Connection")
strCon = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = "& Server.MapPath("DOG.mdb")
cnDOG.Open strCon
Set rs = Server.CreateObject("ADODB.Recordset")
If a <> "" And b <> "請選擇" then
sql = "select distinct * from dog where 犬名 like '%"&a&"%' and 原產地 like '%"&b&"%'"
ElseIf a <> "" And b <> "請選擇" then
sql = "select distinct * from dog where 犬名 like '%"&a&"%'"
ElseIf a <> "" And b = "請選擇" then
sql = "select distinct * from dog where 原產地 like '%"&b&"%'"
End If
rs.Open cnDOG, strCon, 3, 2
%>
<%
rs.MoveFirst
do while Not rs.eof
%>
<%
rs.MoveNext
loop
rs.Close
cnnDB.Close
%>
---------------------------------------------------------------------------------------------
不論怎麼改
出不來就是出不來
想請各位高手幫我看看哪裡出問題了
感激不盡
我是要從ACCESS資料庫抓資料
依使用者在INDEX所選擇的項目來抓
希望大家懂我的意思
我是要從ACCESS資料庫抓資料
依使用者在INDEX所選擇的項目來抓
希望大家懂我的意思
錯誤類型:
ADODB.Recordset (0x800A0BB9)
引數中可能發生類型錯誤、超過可接受的定義範圍、或與其他引數發生衝突。
----------
它會出現上面這個錯誤類型
唉~~~我真的不懂ㄋㄟ
我後來訂正了
Set cnDOG = Server.CreateObject("ADODB.Connection")
strCon = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = "& Server.MapPath("DOG.mdb")
cnDOG.Open strCon
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, cnDOG, 3, 3
但是錯誤類型還是一樣耶
ADODB.Recordset (0x800A0BB9)
引數中可能發生類型錯誤、超過可接受的定義範圍、或與其他引數發生衝突。
終於是可以跑出來了
但是他對在TEXT打字查詢沒有反應
而且只要有一筆以上的資料
它排序就會亂掉.....這到底該怎辦勒
2 個解答
- JayLv 52 0 年前最佳解答
rs.Open cnDOG, strCon(?????), 3, 2
你的SQL 怎麼都沒有用到??
你的RS 是空白的
所以你 RS.MOVEFIRST 的時候就錯誤了
請先
if not rs.eof then
rs.MoveFirst
do while Not rs.eof
%>
<%
rs.MoveNext
loop
end if
排序在SQL裡面排序 用 ORDER BY
If a <> "" And b <> "請選擇" then
sql = "select ...........
ElseIf a <> "" And b <> "請選擇" then <==== 應該試 a = "")
sql = "select distinct.............
ElseIf a <> "" And b = "請選擇" then
sql = "select distinct ................
End If