【发布时间】:2013-02-20 09:34:48
【问题描述】:
我在用户要填写的表单中有许多文本框,我想检查用户的输入是否存在于数据库中。类似于某些网站在您输入用户名时检查用户名的方式。如果后一个用户名存在于数据库中,则将其标记为绿色或带有复选框。
在我的例子中,用户必须填写整个表单,其中每个文本框代表表格中的不同列。检查数据库中是否存在该值的最佳方法是什么?这必须是最快的方法,因为我不能承受滞后。
这是我想采用的方法:
在用户开始输入数据之前,将在数据库上执行 SQL 查询以检索该表中的所有记录(简单的SELECT * FROM table)。接下来,这将被保存在 DataTable 中。
当用户在文本框中输入文本后(即相应的文本框未聚焦),将检查表单中的所有文本框以查看它们的输入是否存在于数据库中。这将通过针对每个文本框的 DataTable 运行 LINQ 语句来执行,以查看该值是否包含在 DataTable 中。
这种方法行得通吗?我希望它尽可能快,并且不能容忍任何滞后。
【问题讨论】:
标签: c# .net sql sql-server wpf