0

我正在尝试更新我的 MySql 数据库,但它不起作用。我插入和选择工作正常。不确定这是我的查询语法还是什么。

string id = invoicenumb.Text;
string mysqlIns1 = "UPDATE invoices SET Status = '" + 
                    comboBox1.SelectedItem.ToString() + "' WHERE id = '" +
                    Convert.ToInt16(id) + "'";


            try
            {
                MySqlConnection mysqlCon = new MySqlConnection(mysqlProv);
                mysqlCon.Open();

                MySqlDataAdapter MyDA = new MySqlDataAdapter();
                MyDA.SelectCommand = new MySqlCommand(mysqlIns1, mysqlCon);

                MessageBox.Show("Success!");
                mysqlCon.Close();
            }
            catch
            {
                MessageBox.Show("Error Occured Please Try Again");
            }
4

4 回答 4

2

使用UpdateCommand而不是SelectCommand.

请参阅MySqlDataAdapter.UpdateCommand 属性

于 2012-11-05T20:19:45.570 回答
1

尝试使用ExecuteNonQuery()MySqlCommand

       try
        {
            MySqlConnection mysqlCon = new MySqlConnection(mysqlProv);
            mysqlCon.Open();

            MySqlCommand MyDA = new MySqlCommand(mysqlIns1, mysqlCon);
            MyDA.ExecuteNonQuery();

            MessageBox.Show("Success!");
            mysqlCon.Close();
        }
        catch
        {
            MessageBox.Show("Error Occured Please Try Again");
        }

这应该有效。

于 2012-11-05T20:22:27.780 回答
1

你永远不会调用MyDA.Update(),也不会执行命令。

于 2012-11-05T20:22:54.363 回答
1

试试 MyDA。UpdateCommand = new MySqlCommand(mysqlIns1, mysqlCon);

而不是 MyDA。SelectCommand = new MySqlCommand(mysqlIns1, mysqlCon);

此外,您需要调用 Nick 列出的 MyDA.Update()。

于 2012-11-05T20:23:31.927 回答