【发布时间】:2015-12-04 00:42:38
【问题描述】:
代码:
static public void InsertUser(string userName, DataGridView DadataGridView1)
{
try
{
if (connection.State == ConnectionState.Closed)
connection.Open();
MySqlCommand check_User_Name = new MySqlCommand("SELECT * FROM IP WHERE(Username = @username)", connection);
check_User_Name.Parameters.AddWithValue("@username", userName);
int UserExist = (int)check_User_Name.ExecuteScalar();
if (UserExist > 0)
{
MessageBox.Show("User Exist");
}
else
{
MySqlCommand commandInsert = new MySqlCommand("INSERT INTO IP(Username) VALUES(@Username)", connection);
commandInsert.Parameters.AddWithValue("@username", userName);
commandInsert.ExecuteNonQuery();
commandInsert.Parameters.Clear();
MessageBox.Show("User Inserted sucessfuly");
}
}
catch (MySqlException exception)
{
MessageBox.Show(exception.ToString());
}
finally
{
connection.Close();
}
我想检查我的数据库中的重复项,我有问题
int UserExist = (int)check_User_Name.ExecuteScalar();
System.NullReferenceException 未处理 Message=Object 引用未设置为对象的实例。
【问题讨论】:
-
看起来您的
ExecuteScalar返回null。 stackoverflow.com/questions/1999020/… -
好的,如何解决这个问题?