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

MySql Pilih Dimana dan C#

Jika product_price kolom bukan tipe TEXT di MySQL, Reader.GetString(0) akan (bergantung pada bagaimana pembaca diimplementasikan oleh Oracle) melempar Pengecualian atau mengembalikan string kosong. Saya akan berpikir yang terakhir terjadi.

Mengambil nilai melalui DataReader mengharuskan Anda untuk mengetahui tipe data. Anda tidak bisa begitu saja membaca string untuk setiap jenis bidang. Misalnya, jika bidang dalam database adalah bilangan bulat, Anda perlu menggunakan GetInt32(...) . Jika ini adalah DateTime gunakan GetDateTime(...) . Menggunakan GetString pada DateTime kolom tidak akan berfungsi.

EDIT
Inilah cara saya menulis kueri ini:

using (MySqlConnection connection = new MySqlConnection(...))
{
    connection.Open();
    using (MySqlCommand cmd = new MySqlCommand("select product_price from product where product_name='@pname';", connection))
    {
        cmd.Parameters.AddWithValue("@pname", x);
        using (MySqlDataReader reader = cmd.ExecuteReader())
        {
            StringBuilder sb = new StringBuilder();
            while (reader.Read())
                sb.Append(reader.GetInt32(0).ToString());

            Price_label.Content = sb.ToString();
        }
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cache kueri tidak berfungsi

  2. ALTER TABLE untuk menambahkan kunci primer komposit

  3. Android:Menggunakan SSL/HTTPS untuk terhubung dengan PHP ke database dan menggunakan POST/GET

  4. PHP Mysql - Tombol Hapus terus menghapus baris terbaru

  5. cara mengimpor file excel (XLSX) ke mysql menggunakan nodejs