gpt4 book ai didi

c# - 数据库中没有保存任何内容

转载 作者:行者123 更新时间:2023-11-29 04:12:31 25 4
gpt4 key购买 nike

我是 Visual Studio 2010 和 MySQL 的新手。我正在创建一个表单,用户将在其中输入要添加到数据库中的信息。没有发生错误,但是当我检查 MySQL 时,我输入的数据没有保存在我的数据库中。有人可以检查我的代码是否有错误或不正确吗?请帮忙。谢谢。

这是我的代码:

private void button_adduser_Click(object sender, EventArgs e)
{
string MyConString = "SERVER=localhost;" + "DATABASE=timekeeping;" + "UID=root;" + "PASSWORD=admin;";
MySqlConnection connection = new MySqlConnection(MyConString);
MySqlCommand command = connection.CreateCommand();
command.Connection = connection;

command.CommandText = "insert into users(addfname, addmname, addlname, addposition, addcontact, addemail, addbday, addusername, addpassword) values(@fname, @mname, @lname, @position, @contactnumber, @emailadd, @birthday, @username, @password)";
command.Parameters.Add(new MySqlParameter("@fname", SqlDbType.VarChar));
command.Parameters.Add(new MySqlParameter("@mname", SqlDbType.VarChar));
command.Parameters.Add(new MySqlParameter("@lname", SqlDbType.VarChar));
command.Parameters.Add(new MySqlParameter("@position", SqlDbType.VarChar));
command.Parameters.Add(new MySqlParameter("@contactnumber", SqlDbType.VarChar));
command.Parameters.Add(new MySqlParameter("@emailadd", SqlDbType.VarChar));
command.Parameters.Add(new MySqlParameter("@birthday", SqlDbType.Date));
command.Parameters.Add(new MySqlParameter("@username", SqlDbType.VarChar));
command.Parameters.Add(new MySqlParameter("@password", SqlDbType.VarChar));
command.Parameters["@fname"].Value = addfname.Text.ToLower();
command.Parameters["@mname"].Value = addmname.Text.ToLower();
command.Parameters["@lname"].Value = addlname.Text.ToLower();
command.Parameters["@position"].Value = addposition.Text;
command.Parameters["@contactnumber"].Value = addcontact.Text;
command.Parameters["@emailadd"].Value = addemail.Text;
command.Parameters["@birthday"].Value = addbday.Text;
command.Parameters["@username"].Value = addusername.Text;
command.Parameters["@password"].Value = addpassword.Text;
connection.Open();

MessageBox.Show("Data Saved");

}

最佳答案

尝试使用 command.ExecuteNonQuery()。另请注意,如果您要返回单个值(例如,新插入记录的 ID),则可以使用 command.ExecuteScalar()。您还应该使用 using 语句来确保为命令和连接调用 Dispose 方法。整个代码应如下所示:

using(MySqlConnection connection = new MySqlConnection(MyConString))
{
connection.Open();
using(MySqlCommand command = connection.CreateCommand())
{
command.CommandText = "insert into users(addfname, addmname, addlname, addposition, addcontact, addemail, addbday, addusername, addpassword) values(@fname, @mname, @lname, @position, @contactnumber, @emailadd, @birthday, @username, @password)";
command.Parameters.Add(new MySqlParameter("@fname", SqlDbType.VarChar));
command.Parameters.Add(new MySqlParameter("@mname", SqlDbType.VarChar));
command.Parameters.Add(new MySqlParameter("@lname", SqlDbType.VarChar));
command.Parameters.Add(new MySqlParameter("@position", SqlDbType.VarChar));
command.Parameters.Add(new MySqlParameter("@contactnumber", SqlDbType.VarChar));
command.Parameters.Add(new MySqlParameter("@emailadd", SqlDbType.VarChar));
command.Parameters.Add(new MySqlParameter("@birthday", SqlDbType.Date));
command.Parameters.Add(new MySqlParameter("@username", SqlDbType.VarChar));
command.Parameters.Add(new MySqlParameter("@password", SqlDbType.VarChar));
command.Parameters["@fname"].Value = addfname.Text.ToLower();
command.Parameters["@mname"].Value = addmname.Text.ToLower();
command.Parameters["@lname"].Value = addlname.Text.ToLower();
command.Parameters["@position"].Value = addposition.Text;
command.Parameters["@contactnumber"].Value = addcontact.Text;
command.Parameters["@emailadd"].Value = addemail.Text;
command.Parameters["@birthday"].Value = addbday.Text;
command.Parameters["@username"].Value = addusername.Text;
command.Parameters["@password"].Value = addpassword.Text;

//Execute command
command.ExecuteNonQuery();
}
}

关于c# - 数据库中没有保存任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6487969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com