我正在尝试编写一个代码,一旦用户点击按钮就会将数据插入到数据库中。代码有问题,似乎无法正常工作。我基于我的托管服务提供商连接到外部数据库。
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");
}
答案 0 :(得分:1)
问题在于:
MySqlCommand cmd = new MySqlCommand();
属于try
,catch
块的范围。
在代码中,有一个对cmd
变量的引用,该变量为null,因此没有数据进入。
将其移到try
,catch
区块之外。