sql >> Database >  >> RDS >> Mysql

MySql Selecteer waar en C#

Als de product_price kolom is niet van het type TEXT in MySQL, de Reader.GetString(0) zal (afhankelijk van hoe de reader door Oracle is geïmplementeerd) een Exception genereren of een lege string retourneren. Ik zou denken dat het laatste gebeurt.

De waarde ophalen via een DataReader vereist dat u het gegevenstype kent. Je kunt niet zomaar voor elk type veld een string uitlezen. Als het veld in de database bijvoorbeeld een geheel getal is, moet u GetInt32(...) gebruiken . Als het een DateTime . is gebruik GetDateTime(...) . GetString gebruiken op een DateTime veld werkt niet.

BEWERKEN
Dit is hoe ik deze vraag zou schrijven:

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. Mysqli_error() werkt niet

  2. Laravel Sum kolom database Eloquent

  3. Hoe sla ik XML-gegevens op in een mysql-database? Ik wil geen buitenlandse sleutels als een gek

  4. Hoe PostgreSQL op een VPS / Dedicated Server te krijgen