它下面是我的代码..我已经在平台上尝试了几个答案,但是它仍然给我同样的错误..有人请帮帮我!提前致谢!
public bool saveRecord(string Firstname,string Lastname,string Username,string Password,string Emailadress)
{
using (MySqlConnection connection = new MySqlConnection("Server=localhost;Port=8889;Database=SSC;Uid=root;Password=root"))
{
try
{
string Sql_Query = "INSERT INTO administrator (Firstname,Lastname,Username,Password,EmailAdress)VALUES(@Firstname,@Lastname,@Username,@Password,@EmailAdress);";
connection.Open();
using (MySqlCommand command = new MySqlCommand(Sql_Query, connection))
{
command.Parameters.AddWithValue("@Firstname", Firstname);
command.Parameters.AddWithValue("@Lastname", Lastname);
command.Parameters.AddWithValue("@Username", Username);
command.Parameters.AddWithValue("@Password", Password);
command.Parameters.AddWithValue("@EmailAdress", Emailadress);
command.ExecuteNonQuery();
MessageBox.Show("Inserted");
}
return true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return false;
}
}
}
测试班.....
Models model = new Models();
if (model.saveRecord(TbFisrtname.Text, TbLastname.Text,TbUsername.Text,TbPassword.Text,TbAddress.Text) == true)
{
MessageBox.Show("Inserted");
}
最佳答案
这表明FirstName
参数变量在传递给方法时为空。我建议这样验证您的论点:
public bool saveRecord(string Firstname,string Lastname,string Username,string Password,string Emailadress)
{
if (string.IsNullOrWhiteSpace(FirstName))
throw new ArgumentException(FirstName, "FirstName cannot be null");
// Do the same for the other args...
using (MySqlConnection connection = new MySqlConnection("Server=localhost;Port=8889;Database=SSC;Uid=root;Password=root"))
{
try
{
string Sql_Query = "INSERT INTO administrator (Firstname,Lastname,Username,Password,EmailAdress)VALUES(@Firstname,@Lastname,@Username,@Password,@EmailAdress);";
connection.Open();
using (MySqlCommand command = new MySqlCommand(Sql_Query, connection))
{
command.Parameters.AddWithValue("@Firstname", Firstname);
command.Parameters.AddWithValue("@Lastname", Lastname);
command.Parameters.AddWithValue("@Username", Username);
command.Parameters.AddWithValue("@Password", Password);
command.Parameters.AddWithValue("@EmailAdress", Emailadress);
command.ExecuteNonQuery();
MessageBox.Show("Inserted");
}
return true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return false;
}
}
}
关于c# - 列名不能为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33678341/