我想創建一個簡單的表單,我想要驗證以顯示相同用戶存在的消息。窗體如何在數據庫中檢查用戶是否已經存在?
函數usernamecheck()檢查驗證並顯示錯誤,如果同一個用戶存在,但當我點擊提交按鈕它仍然提交相同的用戶。
private void submit_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=LFC;Initial Catalog=contactmgmt;Integrated Security=True";
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "INSERT INTO cntc_employee (emp_f_name,emp_l_name,emp_alias,emp_contact_no,emp_address,emp_company,emp_bdate) VALUES(@fname,@lname,@alias,@contact,@address,@company,@bdate)";
cmd.Connection = con;
cmd.Parameters.AddWithValue("@fname", textBox1.Text);
cmd.Parameters.AddWithValue("@lname", textBox2.Text);
cmd.Parameters.AddWithValue("@alias", textBox3.Text);
cmd.Parameters.AddWithValue("@contact", textBox4.Text);
cmd.Parameters.AddWithValue("@address", textBox5.Text);
cmd.Parameters.AddWithValue("@company", textBox6.Text);
cmd.Parameters.AddWithValue("@bdate", textBox7.Text.ToString());
UserNameCheck();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Data Inserted Succesfully");
}
public void UserNameCheck()
{
string constring = "Data Source=LFC;Initial Catalog=contactmgmt;Integrated Security=True";
SqlConnection con = new SqlConnection(constring);
SqlCommand cmd = new SqlCommand("Select * from cntc_employee where emp_alias= @alias", con);
cmd.Parameters.AddWithValue("@alias", this.textBox3.Text);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
if (dr.HasRows == true)
{
MessageBox.Show("Alias "+ dr[1].ToString() +" Already exist");
break;
}
}
}
你確定你的'UserNameCheck '完全按照你想要的方式工作?你調試了你的代碼嗎?並使用'使用語句'來處置你的'SqlConnection'和'SqlCommand' –
你能告訴我們'usernamecheck()'函數代碼嗎? –
是的,它的作品,我認爲我做錯了最後3行 – skates008