JavaScript 函数,用于使用具有多个参数的记录集查询 MS Access DB

JavaScript function to query a MS Access DB using Recordsets with multiple parameters

本文关键字:记录 参数 查询 DB Access MS 用于 函数 JavaScript      更新时间:2023-09-26

我有一个前端HTML页面,它正在查询MS Access数据库。

.HTML:

<input class="textbox" id="searchValue" maxlength="100" name="KeywordSearch" onclick="this.value='';" size="50" type="text" value="Enter Your Keyword Here" />
<input class="textbox" id="ForCLNo" name="CLNum"  type="text" onclick="this.value='';" size="25" type="text" value="CL Number"/> 
<input class="button" name="Search" onclick="searchEngineSearch();" type="button" value="Search" /></p>

想要执行此查询:

SELECT * FROM MasterTable where CLNo = test1 AND Query = test2;

对于查询,SELECT * FROM MasterTable where Query LIKE test2,我创建了 ADODB 对象,如下所示:

var adVarWChar = 202;
var adParamInput = 1;
var pad = "C:''Users''Rik''Desktop''Project''MyTable.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 MasterTable where Query LIKE test2";
cm.Parameters.Append(cm.CreateParameter(
        "test2",
        adVarWChar,
        adParamInput,
        255,
        "%" + document.getElementById("searchValue").value + "%"));
var rs = cm.Execute();

并获得正确的结果。

不确定如何重写 cm.Parameters.Append(cm.CreateParameter()) 函数以在 SQL 查询中合并多个 WHERE 条件 [ SELECT * FROM MasterTable where CLNo = test1 AND Query = test2; ]。

请帮忙:)

您已经在参数集合中创建了一个参数...您只需要再创建一个:

cm.CommandText = "SELECT * FROM MasterTable where Query LIKE test1 OR Query LIKE Test2";
cm.Parameters.Append(cm.CreateParameter(
    "test1",
    adVarWChar,
    adParamInput,
    255,
    "%" + document.getElementById("searchValue").value + "%"));

cm.Parameters.Append(cm.CreateParameter(
    "test2",
    adVarWChar,
    adParamInput,
    255,
    "%" + document.getElementById("searchValue").value + "%"));
var rs = cm.Execute();

cm.Parameters是一个集合,这意味着它能够容纳任何合理数量的项目类型。 对于上面的每段参数代码,将新创建的参数追加到集合中。然后,整个集合用于解析 SQL 语句。