0
我有一些代碼可以在將數據插入數據庫之前檢查數據的發生。我的問題是,在編輯數據庫中的現有數據後,它不斷顯示已存在的消息。有人可以幫助我解決方案,以防止它在編輯後阻止我輸入數據嗎?這裏是我的C#代碼如下:檢查編輯後是否阻止保存記錄
private void btnSave_Click(object sender, RoutedEventArgs e)
{
if (txtFullNames.Text.Length == 0)
{
Errormessage.Text = "Please enter your fullname";
txtFullNames.Focus();
}
else if(!Regex.IsMatch(txtFullNames.Text, @"^[a-zA-Z]"))
{
Errormessage.Text = "Fullname must not contain a number";
}
else if (txtSurname.Text.Length == 0)
{
Errormessage.Text = "Please enter your Surname";
txtSurname.Focus();
}
else if (!Regex.IsMatch(txtSurname.Text, @"^[a-zA-Z]"))
{
Errormessage.Text = "Surname must not contain a number";
}
else if (txtEmail.Text.Length == 0)
{
Errormessage.Text = "Please enter your Email Address";
txtEmail.Focus();
}
else if (!Regex.IsMatch(txtEmail.Text, @"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-
zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"))
{
Errormessage.Text = "Please enter you valid email address";
txtEmail.Focus();
}
else if (cboGender.SelectedIndex == 0)
{
Errormessage.Text = "Please select your Gender";
cboGender.Focus();
}
else if (cboCompany.SelectedIndex == 0)
{
Errormessage.Text = "Please select your Company";
cboCompany.Focus();
}
else if (txtUserName.Text.Length == 0)
{
Errormessage.Text = "Please enter your Username";
txtUserName.Focus();
}
else if (txtPassword.Password.Length == 0)
{
Errormessage.Text = "Please enter your password";
txtPassword.Focus();
}
else if (txtConfirmPassword.Password.Length == 0)
{
Errormessage.Text = "Please confirm your password";
txtConfirmPassword.Focus();
}
else if (txtPassword.Password != txtConfirmPassword.Password)
{
Errormessage.Text = "Both password must match";
}
else
{
SqlConnection oConnection = new SqlConnection(_ConnectionString);
SqlCommand Check_Exist = new SqlCommand("SELECT UserName from UserEnrollment WHERE username =
@UserName AND Password = @Password", oConnection);`enter code here`
Check_Exist.Parameters.AddWithValue("@UserName", txtUserName.Text);
Check_Exist.Parameters.AddWithValue("@Password", txtPassword.Password);
oConnection.Open();
SqlDataReader reader = Check_Exist.ExecuteReader();
if (reader.HasRows)
{
MessageBox.Show("Username and Password already exist!", "Error Message",
MessageBoxButton.OKCancel, MessageBoxImage.Error);
}
else
{
int Gender = 0;
bool passed = int.TryParse(cboGender.SelectedValue.ToString(), out Gender);
int Company = 0;
passed = int.TryParse(cboCompany.SelectedValue.ToString(), out Company);
if (passed)
{
try
{
switch (g_i_commitType)
{
case 1:
{
bool _var = _da.InsertData(UserID,
txtUserName.Text,
txtPassword.Password,
txtFullNames.Text,
txtSurname.Text,
txtEmail.Text,
Gender,
Company
);
} break;
case 2:
{
bool _var = _da.EditData(UserId,
txtUserName.Text,
txtPassword.Password,
txtFullNames.Text,
txtSurname.Text,
txtEmail.Text,
Gender,
Company
);
} break;
}
LoadGridUsers();
MessageBox.Show("Data Successfully Submited", "Confirmation Message");
DeleteTextBox();
Errormessage.Text = "";
}
catch (Exception ex)
{
MessageBox.Show("A handled exception occurred" + ex.Message, "Error Message",
MessageBoxButton.OK, MessageBoxImage.Error);
}
}
}
我不知道我的邏輯會阻止我在編輯後保存。
謝謝我設法解決我的問題,我也試過你,它對我來說工作得很好, – 2014-09-25 10:56:53