我有一个表单,其中包含三个文本框,即 ID、名称、地址。
在 id 上使用 textchanged 事件时,当我输入 id(1,2,3,...) 时,名称和地址字段会自动从数据库中填充。我这样做了,但是当我按下退格键时,视觉工作室会触发异常。
当我按退格键时,我希望它像正常退格键一样。我怎样才能做到这一点?
请帮助我。
void showData1()
{
con = new SqlConnection("Data Source=lakhe-pc;Initial Catalog=samplepractice;Integrated Security=True");
con.Open();
cmd = con.CreateCommand();
cmd.CommandText = "spShowCustomer1";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("id", SqlDbType.Int);
cmd.Parameters["id"].Value = txtId.Text;
adap = new SqlDataAdapter(cmd);
ds = new DataSet();
adap.Fill(ds, "customer");
txtName.Text = ds.Tables[0].Rows[0].ItemArray[0].ToString();
txtAddress.Text = ds.Tables[0].Rows[0].ItemArray[1].ToString();
cmd.ExecuteNonQuery();
con.Close();
}
private void txtId_TextChanged(object sender, EventArgs e)
{
try
{
showData1();
}
catch
{
MessageBox.Show("Something unexpected happened.Please be patient.");
txtId.Clear();
txtName.Clear();
txtAddress.Clear();
}
finally
{
}
}