Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

C #, MySQL - lỗi nghiêm trọng gặp phải trong quá trình thực thi lệnh - Đã kiểm tra các giải pháp khác, điều gì đó tôi đang thiếu

Dòng này sai

using (conn = new MySqlConnection(cs));

Xóa dấu chấm phẩy và bao gồm mọi thứ cần biến MySqlConnection bên trong {} khối

using (MySqlConnection conn = new MySqlConnection(cs))
{
    // No need to test if the connection is not open....
    conn.Open();
    .........

    // Not needed (at least from your code above
    // MySqlDataAdapter MyAdapter2 = new MySqlDataAdapter();
    // MyAdapter2.SelectCommand = myCommand2;

    ... calcs follow here

    // Attention here, if the query returns null (no input match) this line will throw
    oldpoints = (int)myCommand2.ExecuteScalar();

    .... other calcs here


    MySqlCommand cmdDataBase = new MySqlCommand(query, conn);
    cmdDataBase.Parameters.Add("@input", SqlDbType.Int).Value = Convert.ToInt32(textBox2.Text);
    cmdDataBase.Parameters.AddWithValue("@Points", new_points);
    cmdDataBase.Parameters.AddWithValue("@Rewards", new_rewards);
    cmdDataBase.Parameters.AddWithValue("@Transaction", textBox3.Text);
    cmdDataBase.Parameters.AddWithValue("@TransationDate", transaction_date);

    // Use ExecuteNonQuery for INSERT/UPDATE/DELETE and other DDL calla
    cmdDataBase.ExecuteNonQuery();

    // Not needed
    // MySqlDataReader myReader2;
    // myReader2 = cmdDataBase.ExecuteReader();

    // Not needed, the using block will close and dispose the connection
    if(conn.State == ConnectionState.Open)
        conn.Close();

}

Cũng có một lỗi khác trong truy vấn cuối cùng. Thiếu khoảng trắng giữa tham số @TransactionDate và mệnh đề WHERE. Trong trường hợp cần một văn bản lệnh SQL dài, tôi thấy rất hữu ích khi tiếp tục ký tự dòng nguyên văn chuỗi @

string query = @"UPDATE members Set [email protected], [email protected], 
                        [email protected], [email protected]
                        WHERE id = @input;";



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách kết hợp GROUP BY, ORDER BY và HAVING

  2. Có JDBC mysql sẽ tôn trọng fetchSize không?

  3. Sự khác biệt giữa các thủ tục, chức năng và quy trình được lưu trữ là gì?

  4. Tìm kiếm PDO và MySQL Fulltext

  5. Làm mới nội dung của div chỉ khi nội dung mới được thêm vào cơ sở dữ liệu