gpt4 book ai didi

Javascript ADO 记录集打开方法不起作用。参数化查询

转载 作者:行者123 更新时间:2023-11-28 01:29:19 26 4
gpt4 key购买 nike

我正在创建一个网页并使用一些 javascript 代码将网页中的一些信息插入到 MS Access 数据库中。我正在使用 ADO 连接和记录集,但我在打开方法时遇到问题。

这是我遇到问题的代码片段

var name =document.StatusReports.empname.value;
var query = "Select * From reportForm Where EmployeeName =" + name;

alert(query);

if(adoRS.Open(query, adoConn, 1, 3));

名称只是一个变量,它将保存文本框的值。 (这有效)如果我使用警报(查询),一切都会很好地显示:Select * From reportForm Where EmployeeName = kevin好像串联工作正常。但是如果我尝试打开与该查询的连接,我会收到此错误:

SCRIPT3600: No value given for one or more required parameters. 

就好像它不认识串联一样。

注意:它在没有连接的情况下工作。例如,如果我硬编码一个值:

 var query = "Select * From reportForm Where EmployeeName = kevin";

但这当然不是目的。

更新:我认为问题在于查询未参数化。我记得在 Java 中这发生在我身上,但我参数化了查询,我就完成了。不确定如何使用 javascript 参数化查询

最佳答案

以下查询将在 Access 中产生错误,因为它试图比较两个字段名称:“EmployeeName”和“kevin”:

Select * From reportForm Where EmployeeName = kevin

以下查询不会产生错误,因为它正在将“EmployeeName”与“kevin”的字符串进行比较:

Select * From reportForm Where EmployeeName = 'kevin'

将搜索字符串 name 放在引号中,如下所示:

var query = "Select * From reportForm Where EmployeeName ='" + name + "'";

关于Javascript ADO 记录集打开方法不起作用。参数化查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30898352/

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