Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

C #, MySQL - kesalahan fatal terjadi selama eksekusi perintah- Memeriksa solusi lain, ada sesuatu yang saya Hilang

Baris ini salah

using (conn = new MySqlConnection(cs));

Hapus titik koma dan sertakan semua yang memerlukan variabel MySqlConnection di dalam {} blokir

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();

}

Ada juga kesalahan lain dalam kueri terakhir. Tidak ada spasi antara parameter @TransactionDate dan klausa WHERE. Dalam kasus di mana teks perintah SQL yang panjang diperlukan, saya merasa sangat berguna kelanjutan karakter baris string verbatim @

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. Pengelompokan MySQL berdasarkan minggu, berdasarkan kolom tanggal?

  2. Bagaimana cara $_POST nilai yang ditetapkan secara dinamis dalam PHP?

  3. perlu mengembalikan dua set data dengan dua klausa where yang berbeda

  4. Python MySQLdb / MySQL INSERT IGNORE &Memeriksa apakah Diabaikan

  5. Nama tabel Mysql tidak berfungsi dalam huruf besar