根据用户表单输入动态生成 SQL 语句

dynamically generating an SQL statement based on user form input

本文关键字:SQL 语句 动态 输入 用户 表单      更新时间:2023-09-26
根据

用户输入编译和构建动态 SQL 语句的最佳方法是什么?

我看到它的方式是一堆 if 语句,通过使用 .length> 0 方法检查每个字段是否包含任何数据。

我不认为这是实现这一目标的最有效方法。这种疯狂还有别的方法吗?

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function test() {
var sql = "SELECT * FROM tbl_imts WHERE"
var date1 = document.getElementById('date1').value
var action = document.getElementById('action').value
var date2 = document.getElementById('date2').value
var reqtype = document.getElementById('reqtype').value
var status = document.getElementById('status').value
var assignto = document.getElementById('assignto').value

}
</script>
</head>
<body>
<table border="1" cellspacing="1" width="100" id="table1">
    <tr>
        <td>Date Received</td>
        <td>Action Required</td>
        <td>Due Date</td>
    </tr>
    <tr>
        <td><input type="text" id="date1"/></td>
        <td><input type="text" id="action"/></td>
        <td><input type="text" id="date2"/></td>
    </tr>
    <tr>
        <td>Request Type</td>
        <td>Status</td>
        <td>Assigned to</td>
    </tr>
    <tr>
        <td><input type="text" id="reqtype"/></td>
        <td><input type="text" id="status"/></td>
        <td><input type="text" id="assignto"/></td>
    </tr>
</table>
<br>
<input type="button" value="test it" onclick="test()"/>
</body>
</html>

您需要使用查询参数,否则容易受到SQL注入攻击。永远不要相信客户。任何心怀不满的员工都可能对您的数据造成严重损害。

请参阅:如何在 MS Access 2003 中创建参数化查询并使用其他查询/表单填充参数并获取结果集