我有用户表单,用户更新他们的基本详细信息,如电子邮件,手机号码等。当用户更新他们的信息时,我首先要检查修改后的数据是否已经在datbase中可用(假设他是否修改了他的手机号码,那么它应首先检查新输入的编号是否已被其他用户使用)。如果可用,则显示弹出窗口,表示已使用的号码。如果它是唯一编号,那么它将更新。我使用以下代码来检查条件和&然后决定是否执行更新功能。
更新时点击
string mobile = string.Empty;
string emailID = string.Empty;
if (!string.IsNullOrEmpty(mobileNo.Text) & !string.IsNullOrEmpty(email.Text)) {
string str = "SELECT * FROM users WHERE email = @email or mobile = @mobile and not ID = @ID";
MySqlCommand cmd = new MySqlCommand(str, con);
cmd.Parameters.AddWithValue("@ID", userID.Text);
cmd.Parameters.AddWithValue("@email", email.Text);
cmd.Parameters.AddWithValue("@mobile", mobileNo.Text);
cmd.Parameters.AddWithValue("@username", psNo.Text);
con.Open();
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
if (ds.Tables(0).Rows.Count > 0) {
mobile = ds.Tables(0).Rows(0)("mobile");
emailID = ds.Tables(0).Rows(0)("email");
if (mobile == mobileNo.Text) {
Response.Write("<script language='javascript'>alert('Mobile No Already Exist');</script>");
} else {
Response.Write("<script language='javascript'>alert('Email ID Already Exist');</script>");
}
} else {
this.updateContactInfo();
}
}
此代码有效但不完全。假设用户是否更改了他们的手机号码和保留他们的旧电子邮件地址,它也显示电子邮件已经存在。我如何构建我的查询,它应该检查除登录用户以外的所有行。