我想在用户更改文本框时更新SQL,但我担心的是更新它每个字符按下每次都会发送一个SQL UPDATE命令,如果用户可能甚至同时发送正在快速打字。
是什么类型的最佳实践方法,以便我只发布更新的文本框,比如可能,2秒后用户不再更新文本框?
可能是文本框的keyup事件绑定的一些变体,并使用settimeout和cleartimeout来完成它?
答案 0 :(得分:1)
您可以使用TextBox离开事件。做完事后。 Textbox Leave
private void textBox1_Leave(object sender, System.EventArgs e)
{
string StrSql = Textbox1.Text; // your sql queries goes here
using(SqlConnection con = new SqlConnection(Constr))
{
SqlCommand cmd = new SqlCommand(strSql, con);
cmd.ExecuteNonQuery();
}
}
答案 1 :(得分:0)
每次文本框中发生更改时,您都可以采用Google文档方法并重新启动计数器。如果5秒内没有变化,则更新/保存
答案 2 :(得分:0)
是否必须绑定到keyup事件?
你也可以开一个 - >焦点,然后设置可能是2秒的间隔SQL更新,然后在模糊/函数将停止。
通过这种方式,您不会在每个关键事件上发出请求。