C# 数据库c中存在if值时出现错误处理程序#
我正在尝试创建一个错误处理程序,如果数据库中已有值,则无法保存该错误处理程序中的值。但是,是的,错误消息正在显示,同时对话框结果也在显示。如果值存在,我希望显示错误&如果值不存在,对话框结果将显示 这是我的密码:C# 数据库c中存在if值时出现错误处理程序#,c#,C#,我正在尝试创建一个错误处理程序,如果数据库中已有值,则无法保存该错误处理程序中的值。但是,是的,错误消息正在显示,同时对话框结果也在显示。如果值存在,我希望显示错误&如果值不存在,对话框结果将显示 这是我的密码: usercheck(); DialogResult dr = MetroMessageBox.Show(this, "Are you sure you want to Save without your desire Sales Count or Sales Amou
usercheck();
DialogResult dr = MetroMessageBox.Show(this, "Are you sure you want to Save without your desire Sales Count or Sales Amount?", "Wait!", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (txtCount.Text == "0" || txtAmount.Text == "0")
{
if (dr == DialogResult.Yes)
{
Data.con.Open();
string SaveStr = "Insert into dbinfo.tbluser (UserID, UserName, UserPassword, UserLevel, TargetCount, TargetAmount) Values (@UserID, @UserName, @UserPassword, @UserLevel, @TargetCount, @TargetAmount)";
MySqlCommand SaveCmd = new MySqlCommand(SaveStr, Data.con);
SaveCmd.Parameters.AddWithValue("@UserID", txtID.Text);
SaveCmd.Parameters.AddWithValue("@UserName", txtName.Text);
SaveCmd.Parameters.AddWithValue("@UserPassword", txtPassword.Text);
SaveCmd.Parameters.AddWithValue("@UserLevel", cbLevel.Text);
SaveCmd.Parameters.AddWithValue("@TargetCount", txtCount.Text);
SaveCmd.Parameters.AddWithValue("@TargetAmount", txtAmount.Text);
SaveCmd.ExecuteNonQuery();
Data.con.Close();
LoadData();
MetroMessageBox.Show(this, "User Entry Saved!", "Saved!", MessageBoxButtons.OK, MessageBoxIcon.Information);
clear();
}
else if (dr == DialogResult.No)
{
clear();
}
}
这是我的usercheck()方法代码
谢谢大家! 让用户检查方法返回这样的bool
UserExists
方法。它的工作原理如下:
在存储用户之前,
if
检查用户是否存在。在
UserExists
方法中,如果用户存在,则显示错误,并返回true
然后,如果返回
true
,StoreUser
方法将在存储用户之前返回。如果返回
false
(用户不存在),则StoreUser
方法将正常继续
public static void StoreUser()
{
if ( UserExists( "username" ) )
{
//Will stop here if user exists
return;
}
//Storing user code
}
public static bool UserExists(string userName)
{
if (userName == "EXISTS")
{
//Show error
return true;
}
return false;
}
注*:
HasRows
只会检查表中是否包含一行或多行,这是自解释的,因此在代码中,if语句将始终为true,除非表为空。可能重复@MongZhu。他不是问如何检查它,而是问如何修复显示的两条消息(用户存在,但仍将尝试插入)。
public static void StoreUser()
{
if ( UserExists( "username" ) )
{
//Will stop here if user exists
return;
}
//Storing user code
}
public static bool UserExists(string userName)
{
if (userName == "EXISTS")
{
//Show error
return true;
}
return false;
}