Mysql
 sql >> база данни >  >> RDS >> Mysql

MySql Изберете Къде и C#

Ако product_price колоната не е от тип TEXT в MySQL, Reader.GetString(0) ще (в зависимост от това как четецът е внедрен от Oracle) ще хвърли изключение или ще върне празен низ. Мисля, че последното се случва.

Извличане на стойността чрез DataReader изисква да знаете типа данни. Не можете просто да прочетете низ за всеки тип поле. Например, ако полето в базата данни е цяло число, трябва да използвате GetInt32(...) . Ако е DateTime използвайте GetDateTime(...) . Използване на GetString на DateTime полето няма да работи.

РЕДАКТИРАНЕ
Ето как бих написал тази заявка:

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. PHPExcel:Невалидна грешка в координатите на клетката

  2. неподдържано сканиране, съхраняване на driver.Value тип []uint8 в тип *time.Time

  3. Mysql Max с групиране по заявка

  4. изтрийте с помощта на where и или

  5. Как да изчислим процента?