【发布时间】:2016-01-02 19:29:29
【问题描述】:
我有以下代码:
<!doctype html>
<html>
<title>Search</title>
<script type="text/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 + ", ");
document.write(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 + ".</p>");
var row = row.parentNode.rows[ ++idx ];
document.write(rs.fields(1).value + ".</p>");
rs.MoveNext();
}
}
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;"> </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;"> </p>
<p style="text-align: center;"><input name="Search" type="button" value="Search" onclick="query();" /></p>
</form>
</body>
</html>
请帮助我修改代码,以便在单击“搜索”按钮时,必须创建一个包含 16 列和适当列标题的新表,并且应将搜索结果正确插入到表行中。
【问题讨论】:
-
有具体问题吗?我在这里看到的只是您列出项目要求。如果您对此代码有特定问题(例如,它是否以某种特定方式出错并且您需要了解原因?)那么您应该针对该特定事物提出具体问题,并尽可能多地向我们提供尽可能详细地说明您的困惑、您期望发生的事情、正在发生的事情等。
-
是的。我有一些具体的问题。对于问题#3,我不确定如何修改 document.getElementById("searchTerm").value 以考虑整个字符串(包括空格)。对于问题 #2,我尝试将 SELECT 查询更改为“SELECT * FROM ImportFromExcel WHERE col1 LIKE ? OR col2 LIKE ? OR col3 LIKE ?; ...”,但它不起作用。
-
对于问题#1,尝试使用以下函数创建表和插入数据,但失败了。函数 addTable() { var table = document.createElement('TABLE'); table.border='1'; var tableBody = document.createElement('TBODY'); table.appendChild(tableBody); for (var i=0; i" + rs.fields(1).value + ", "); tr.appendChild(td); } } myTableDiv.appendChild(table); }
-
这些绝对是独立的问题。他们甚至不是彼此相同的语言。您应该针对您遇到的每个特定问题提出单独的问题,并尝试将它们减少到仍然说明您遇到的问题的简单/少量代码。另一方面...看起来您实际上是在从客户端传递字符串以在服务器端作为数据库内容运行。如果这不是一个不公开的内部应用程序,那么它将完全结束并完成黑客攻击,其他人完全接管您的服务器。
标签: javascript html search sql-insert