gpt4 book ai didi

C# Mysql 插入数据不起作用

转载 作者:行者123 更新时间:2023-11-29 13:45:29 28 4
gpt4 key购买 nike

我是 C# 的 Nubie,我尝试学习 CRUD。选择数据成功,但无法将数据保存到mysql。我的 table

mahasiswa

ID| namae | jurusan | email
_____________________________
1 | Bill | IT | bill@gmail.com
2 | Tony | IT | Tony@gmail.com

Mysql中ID设置为自增

这是我的 btn 保存脚本

 void btnsave_Click(object sender, EventArgs e)
{
try
{
if (txtid.Text != "" && txtnama.Text != "" && txtjurusan.Text != "" && txtemail.Text != "")
{
query = string.Format("INSERT INTO mahasiswa values ('{1}','{2}','{3}');", txtnama.Text, txtjurusan.Text, txtemail.Text);

koneksi.Open();
perintah = new MySqlCommand(query, koneksi);
adapter = new MySqlDataAdapter(perintah);
int res = perintah.ExecuteNonQuery();
koneksi.Close();

if (res == 1)
{
MessageBox.Show("Input Data Sukses...");
}
else
{
MessageBox.Show("Input Data Gagal... ");
}

}
else
{
MessageBox.Show("Data tidak lengkap");
}
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
}

该脚本可以运行,但是在输入数据并单击“保存”按钮后,程序停止。

谁能帮我。

非常感谢您的回答

谢谢

表单加载

 void Form1_Load(object sender, EventArgs e)
{
try
{

koneksi.Open();
query = string.Format("SELECT * FROM mahasiswa");
perintah = new MySqlCommand(query, koneksi);
adapter = new MySqlDataAdapter(perintah);
perintah.ExecuteNonQuery();
ds.Clear();
adapter.Fill(ds);
koneksi.Close();
dgv1.DataSource = ds.Tables[0];
dgv1.Columns[0].Width = 50;
dgv1.Columns[0].HeaderText = "ID";
dgv1.Columns[1].Width = 120;
dgv1.Columns[1].HeaderText = "Nama Mahasiswa";
dgv1.Columns[2].Width = 120;
dgv1.Columns[2].HeaderText = "Jurusan";
dgv1.Columns[3].Width = 120;
dgv1.Columns[3].HeaderText = "Email";
//txtid.clear();
txtnama.Clear();
txtjurusan.Clear();
txtemail.Clear();
btnedit.Enabled = false;
btndelete.Enabled = false;
btnsave.Enabled = true;
btnsearch.Enabled = true;


}
catch (Exception ex) {

MessageBox.Show(ex.ToString());
}
}

最佳答案

此外,如果您学习 CRUD,那么如果您在 SQL 中创建必要的存储过程并尝试这种方式,将会很有帮助。

只需创建一个 CREATE、INSERT、UPDATE、DELETE 过程。然后在插入示例的代码中,您将看到以下内容:

public bool Add(string example)
{
try
{

using (SqlConnection con = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand("[Proc name]", con);
cmd.CommandType = CommandType.StoredProcedure;
if (con.State == ConnectionState.Closed)
con.Open();
cmd.Parameters.AddWithValue("@Example", example);

cmd.ExecuteNonQuery();
return true;
}
}

这使您可以查看发生的情况并确保您的程序正常运行。这种方式可以让您更轻松地捕获异常,并更轻松地验证您的输入。

关于C# Mysql 插入数据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17484144/

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