2016-08-13 154 views
0
  • 我有一個網頁,其中間有一個窗體。
  • 有一堆字段是動態填充來自Access數據庫的內容的。
  • 表單中間是一個select/option /下拉菜單,其內容也來自數據庫。
  • 當用戶閱讀數據庫項目的部分列表時,他們會看到他們感興趣的項目,然後選擇它們。
  • 這會導致OnChange事件觸發。
    • 這調用頭中的函數來執行。
    • 該功能在JavaScript中。
  • 他們在問題所在:它會創建一個如下所示的變量"select * from database where IDX=value"其中value來自上面提到的select/Option框。
  • 沒有使用AJAX(我不知道)如何執行對Access數據庫?

一旦執行,我想要返回結果記錄在RecordSet哪裏將進一步剖析ASP記錄的部分,而不是顯示。選擇/選項/價值改變使用ASP和沒有JavaScript?

我該怎麼做?希望完全在ASP? (或者,使用Ajax插入我的數據庫名稱和查詢的簡單指令會很棒!)

我等待您的回覆。謝謝。

+0

你的標題有誤導之嫌,我想你的意思是,沒有阿賈克斯,而不是沒有JavaScript的,因爲平變化是JavaScript的。 – Dijkgraaf

+0

如果您不想使用AJAX,您唯一的選擇是讓onchange事件提交表單並導致頁面重新加載。然後在傳統的ASP中查找適當的Request.Form值,並將其接受。 –

回答

0

試試這個

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 
<% 
DIM adoCon, RS 
Set adoCon = Server.CreateObject("ADODB.Connection") 
Set RS=Server.CreateObject("ADODB.Recordset") 
adoCon.Open "Provider=SQLOLEDB.1; Persist Security Info=false; Data Source=.; initial catalog=databaseName; user id=user; [email protected];" 
%> 
<form> 
<select name="sel_IDX" id="sel_IDX" onchange="window.location.href='?IDX=' + document.getElementById('sel_IDX').value" > 
<option value=''>Select</option> 
<% 
RS.Open "select * from database where IDX=value", adoCon 
    IF NOT RS.EOF THEN 
    DO WHILE NOT RS.EOF 
    IF Request.QuertString("IDX") = RS("IDX") THEN 
     Response.Write "<option value=' " & RS("IDX") & " ' selected > " & RS("IDX") & " </option>" 
    ELSE 
     Response.Write "<option value=' " & RS("IDX") & " ' > " & RS("IDX") & " </option>" 
    END IF 
    RS.MoveNext 
    LOOP 
    END IF 
RS.Close 
adoCon.Close 
%> 
</select> 
</form> 
</body> 
</html> 
+0

謝謝!現在,我將如何使用loginID/User =「useruser」和password =「PWDPWD」給Server =「Fred.net」?我如何保持客戶端的登錄ID /密碼安全? – greenber

+0

哦!也認爲數據庫被稱爲「database.MDB」,該表被稱爲「tabletable」 – greenber

+0

'<% %>'內的代碼將不會在客戶端顯示,只會顯示html代碼,根據您的要求更改連接字符串。參考[這裏](https://www.connectionstrings.com/access/) –