gpt4 book ai didi

javascript - 如何使用 Javascript 搜索 MS Access 数据库表?

转载 作者:行者123 更新时间:2023-12-03 08:03:49 25 4
gpt4 key购买 nike

我有一个包含 16 列的 MS Access 数据库表“ImportFromExcel”。当输入关键字后按下网页中的“搜索”键时,它应该转到表格并检查关键字是否存在于表格中的任何位置。如果关键字出现在一行中,则应打印该行。否则,它应该抛出一条消息。

代码:

<!doctype html>
<html>
<title>Search</title>

<script type="text/javascript">

function query()
{
var pad = "C:\\Users\\azi!z\\Desktop\\Project\\Test.accdb";
var cn = new ActiveXObject("ADODB.Connection");
var strConn = "Provider=microsoft.ace.oledb.12.0;Data Source=" + pad;
cn.Open(strConn);
var rs = new ActiveXObject("ADODB.Recordset");
var SQL = “SELECT * FROM ImportFromExcel where TestCase ALIKE '%searchTerm%'”;
rs.Open(SQL, cn);
if(!rs.bof)
{
rs.MoveFirst();
if(!rs.eof)
{
document.write("<p>" + rs.fields(1).value + ", ");
document.write(rs.fields(2).value + ", ");
document.write(rs.fields(3).value + ", ");
document.write(rs.fields(4).value + ", ");
document.write(rs.fields(5).value + ", ");
document.write(rs.fields(6).value + ", ");
document.write(rs.fields(7).value + ", ");
document.write(rs.fields(8).value + ", ");
document.write(rs.fields(9).value + ", ");
document.write(rs.fields(10).value + ", ");
document.write(rs.fields(11).value + ", ");
document.write(rs.fields(12).value + ", ");
document.write(rs.fields(13).value + ", ");
document.write(rs.fields(14).value + ", ");
document.write(rs.fields(15).value + ", ");
document.write(rs.fields(16).value + ".</p>");
}
}
else
{
document.write("No data found");
}
rs.Close();
cn.Close();
}

</script>
</head>

<body>
<form method="get" name="SearchEngine" target="_blank">
<p style="text-align: center;"><span style="font-family:times new roman,times,serif;"><span style="font-size: 36px;"><strong>EA Search Engine</strong></span></span></p>

<p style="text-align: center;">&nbsp;</p>

<p style="text-align: center;"><input maxlength="300" id="searchTerm" name="KeywordSearch" size="100" type="text" value="Enter Your Keyword Here" /></p>

<p style="text-align: center;">&nbsp;</p>

<p style="text-align: center;"><input name="Search" type="button" value="Search" onclick="query();" /></p>
</form>
</body>
</html>

在 MS Access 中尝试了查询,它给出了预期的结果(感谢@HansUp)。似乎是 JavaScript 部分的问题。请帮忙:)

最佳答案

现在您已经获得了实际执行的 JavaScript 函数,您需要进行以下更改:

  1. 硬编码 '%searchTerm%'进入脚本只会搜索该文字文本。您想要合并“searchTerm”的值 <input>表格上的框。

  2. 为此,您需要使用参数化查询。

  3. 您还希望循环 Access Recordset 以检索返回的所有行,而不仅仅是第一行。

所以,您的 JavaScript 代码应该看起来更像这样:

function query() {
var adVarWChar = 202;
var adParamInput = 1;

var pad = "C:\\Users\\azi!z\\Desktop\\Project\\Test.accdb";
var cn = new ActiveXObject("ADODB.Connection");
var strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + pad;
cn.Open(strConn);
var cm = new ActiveXObject("ADODB.Command");
cm.ActiveConnection = cn;
cm.CommandText = "SELECT * FROM ImportFromExcel where TestCase LIKE ?";
cm.Parameters.Append(cm.CreateParameter(
"?",
adVarWChar,
adParamInput,
255,
"%" + document.getElementById("searchTerm").value + "%"));
var rs = cm.Execute(); // returns ADODB.Recordset object
if (rs.EOF) {
document.write("<p>No data found.</p>");
} else {
while (!rs.EOF) {
document.write("<p>" + rs.fields(0).value + ", ");
// (list of fields truncated for clarity)
document.write(rs.fields(1).value + ".</p>");
rs.MoveNext();
}
}
rs.Close();
cn.Close();
}

关于javascript - 如何使用 Javascript 搜索 MS Access 数据库表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34481025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com