c# - 在 C# 上执行查询时出错

标签 c# mysql sql

我有问题。我想使用这个 C# 将数据存储在我的 mysql 数据库上

private void btnSaveFilm_Click(object sender, EventArgs e)
    {
        try 
        {
            MySqlConnection conn = new MySqlConnection(connection.mysqlconnectionbuilder());
            conn.Open();
            MySqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = "INSERT INTO film(judul,genre,asal,kondisi)"
                + "VALUES(@judul,@genre,@asal,@kondisi)";
            cmd.CommandType = CommandType.Text;
            cmd.Parameters.AddWithValue("@judul", textBoxJudul.Text);
            cmd.Parameters.AddWithValue("@genre", category(comboBoxGenre.SelectedValue.ToString()).ToString());
            cmd.Parameters.AddWithValue("@asal", asal(comboBoxAsal.SelectedValue.ToString()).ToString());
            cmd.Parameters.AddWithValue("@kondisi", checkedStatus());
            cmd.ExecuteNonQuery();
            conn.Close();
        }
        catch(Exception exe) 
        { 
            Console.Write("Error on Save Film : " + exe.ToString() + "\n" +exe.Message);
        }

    }

但它显示错误 System.NullReferenceException:对象引用未设置为对象的实例。

第 40 行错误:

   cmd.Parameters.AddWithValue("@genre",kategori(comboBoxGenre.SelectedValue.ToString()).ToString());

如何解决?

最佳答案

将你的代码折射到这里,使用 using 语句,

string connString = connectionmysqlconnectionbuilder();
using (MySqlConnection conn = new MySqlConnection(connString)
{
    using (MySqlCommand cmd = new MySqlCommand())
    {
        cmd.Connection = conn;
        cmd.CommandText = @"INSERT INTO film(judul,genre,asal,kondisi) 
                             VALUES(@judul,@genre,@asal,@kondisi)";
        cmd.Parameters.AddWithValue("@judul", textBoxJudul.Text);
        cmd.Parameters.AddWithValue("@genre", kategori(comboBoxGenre.Text).ToString());
        cmd.Parameters.AddWithValue("@asal", asal(comboBoxAsal.Text).ToString());
        cmd.Parameters.AddWithValue("@kondisi", checkedStatus());
        try
        {
            comm.Open();
            cmd.ExecuteNonQuery();
        }
        catch(MySqlException ex)
        (
            Console.WriteLine(ex.ToString());
        )
    }
}

你也可以用

comboBoxGenre.Text instead of comboBoxGenre.SelectedValue

关于c# - 在 C# 上执行查询时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14097810/

相关文章:

c# - 使用 PDF 内容类型时在浏览器中设置选项卡的标题

c# - 为什么我得到 NaN?

php - PROPEL - 将 sql 查询传输到 propel

mysql - MySQL 上的 GROUP BY/MIN 查询的索引

c# - 使用 Ninject 注入(inject)实现相同接口(interface)的不同类

php - 联系表格未上传到数据库(MySQL)

MySql按列加入

.net - 如何在不打开数据库的情况下测试SqlServer连接

sql - ORA-00904 : invalid identifier in subquery

c# - 如何在 asp.net 中的按钮单击事件调用之前和之后调用 javascript 函数