使用Javascript、ASP.NET和AJAX防止重复的数据库条目
Prevent Duplicate Database Entry with Javascript, ASP.NET, and AJAX
在提交表单时,我需要检查是否已经存在重复。如果是,它将停止提交表单,并允许用户再次编辑字段。我以前从未真正使用过ajax,但我读到过这样的东西,最好使用它。我也不会用PHP,但可以用javascript和asp。现在,我可以通过以下操作检查数据库是否已经存在重复值:
var SQL = " SELECT COUNT(LeaveID) AS Dup, personalID, StartDate, EndDate, StartTime, EndTime, LeaveType";
SQL += " FROM onLeave";
SQL += " WHERE personalID = " + ipersonalID;
SQL += " GROUP BY personalID, StartDate, EndDate, StartTime, EndTime, LeaveType";
SQL += " HAVING COUNT(LeaveID) > 1";
SQL += " ORDER BY StartDate DESC";
var rs = Connection.Execute(SQL);
writeTable(rs)
writetable(rs)只是将数据输出到html表中,ipersonalID是查看页面的人的当前ID。提交只是一个简单的输入,如下所示:
<input type="button" name="btnSubmit" value="Submit" onclick="submitSkedChange()" id="btnSubmit"/>
我同意@asawyer的评论。更好的方法是将唯一约束添加到表中,然后让它失败。在代码后台,您只需捕获Exception并向用户显示错误。您可以专门捕获Violation of unique constraint
错误并采取相应的操作。对于任何其他错误,你必须决定该怎么做。
上述方法有几个好处IMO:
- 少了一个DB调用
- 由于以上原因以及不必进行ajax调用,应该会表现得更好
- 它在数据库级别强制执行数据完整性,这是一件好事
相关文章:
- 使用javascript从数据库中添加表
- javascript:将数据库中的数据插入到html5文本字段中
- 从数据库中获取数据并插入JavaScript变量
- JavaScript,PHP-用JavaScript将多个数据库记录发送到变量或表
- 使用JavaScript插入Access数据库
- 如何使用PHP将javascript变量添加到mysql数据库中
- JavaScript数据库相关性
- PHP下拉列表由要使用javascript的数据库填充
- 在javascript中跳过周六和周日,并向mysql数据库中添加不重复的条目
- 如何在javascript谷歌地图中获取数据库值
- 使用javascript服务填充数据库中的下拉值
- 在不使用循环的情况下,从一个数据库字符串值向javascript数组添加多个对象
- 如何将javascript变量写入sql数据库
- 动态下拉菜单使用JavaScript而不使用数据库
- 单击图像,获取坐标并将其保存在数据库JavaScript和Rails中
- 显示从接口上的数据库(JavaScript/HTML/SQLite)获取的结果
- 打开SQLllitle数据库JavaScript
- 分析数据库JavaScript和PhoneGap
- 像使用关系SQL数据库(Javascript)一样使用JSon
- 使用谷歌地图api与坐标从数据库javascript MySQL PHP创建线