[英]JavaScript function to query a MS Access DB using Recordsets with multiple parameters
I have a front-end HTML page which is querying an MS Access Database. 我有一个正在查询MS Access数据库的前端HTML页面。
HTML: 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>
Want to execute this query: 要执行此查询:
SELECT * FROM MasterTable where CLNo = test1 AND Query = test2;
For the query, SELECT * FROM MasterTable where Query LIKE test2
, I have created the ADODB object as follows: 对于查询
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();
and the correct result is obtained. 并获得正确的结果。
Not sure how to rewrite the cm.Parameters.Append(cm.CreateParameter()) function to incorporate more than one WHERE condition in an SQL query [ SELECT * FROM MasterTable where CLNo = test1 AND Query = test2;
不知道如何重写cm.Parameters.Append(cm.CreateParameter())函数以将多个WHERE条件合并到SQL查询中[
SELECT * FROM MasterTable where CLNo = test1 AND Query = test2;
]. ]。
Please Help :) 请帮忙 :)
You're creating one parameter within the Parameters collection already... you just need to create one more: 您已经在Parameters集合中创建了一个参数...您只需要再创建一个:
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
is a collection, meaning it's capable of holding any reasonable number of its item type. cm.Parameters
是一个集合,这意味着它可以容纳任何合理数量的项目类型。 For each piece of parameter code above, you append a newly created parameter into the collection. 对于上面的每个参数代码,都将一个新创建的参数附加到集合中。 The entire collection is then used to resolve the SQL statement.
然后将整个集合用于解析SQL语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.