用户单击按钮后,将数据插入数据库

时间:2016-05-19 08:48:31

标签: c# mysql visual-studio

我正在尝试编写一个代码,一旦用户点击按钮就会将数据插入到数据库中。代码有问题,似乎无法正常工作。我基于我的托管服务提供商连接到外部数据库。

private void druk_Click(object sender, EventArgs e)
        {
            MySql.Data.MySqlClient.MySqlConnection conn;
            string myConnectionString;

            myConnectionString = "server=s59.hekko.net.pl;uid=truex2_kuba;" +
                "pwd=test;database=truex2_kuba;";

            try
            {
                conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString);
                conn.Open();
                MySqlCommand cmd = new MySqlCommand();
            }
            catch (MySql.Data.MySqlClient.MySqlException ex)
            {
                MessageBox.Show(ex.Message);
            }

                cmd.CommandText = "insert into [barcode]values(@class, @tree, @type, @amount, @length, @width, @square)";
                cmd.Parameters.AddWithValue("@class", klasa.Text);
                cmd.Parameters.AddWithValue("@tree", gatunek.Text);
                cmd.Parameters.AddWithValue("@type", rodzaj.Text);
                cmd.Parameters.AddWithValue("@amount", amount.Text);
                cmd.Parameters.AddWithValue("@length", length.Text);
                cmd.Parameters.AddWithValue("@width", width.Text);
                cmd.Parameters.AddWithValue("@square", textBox1.Text);
                int a = cmd.ExecuteNonQuery();
                if (a > 0)

            {
                MessageBox.Show("Zapisane do raportu");
            }

1 个答案:

答案 0 :(得分:1)

问题在于:

MySqlCommand cmd = new MySqlCommand();

属于trycatch块的范围。

在代码中,有一个对cmd变量的引用,该变量为null,因此没有数据进入。

将其移到trycatch区块之外。