2016-08-13 89 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/) –