sql >> Databasteknik >  >> RDS >> Mysql

nollvärde undantag när du går in i databasen

Du måste använda en parametriserad fråga för att undvika felen, eftersom du sammanfogar explicita strängvärden. Din logik är också fel, att göra detta kommer att orsaka onormaliserade data som kommer att vara hemska för alla DB-administratörer att sortera. Jag skulle överväga att använda det här istället:

SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\rnawa_000\Documents\Visual Studio 2013\Projects\Random\Random\sales.mdf;Integrated Security=True");

SqlCommand cmd = new SqlCommand();

cmd.Connection = conn;
conn.Open();

foreach (string item in listBox1.Items)
{
    cmd.CommandText = "insert into salesTB (Date,Time,Name,Quantity,Cost,Purchase) values (@date, @time, @name, @quantity, @cost, @purchase)";

    cmd.Parameters.Add(new SqlParameter("date", date.Text));
    cmd.Parameters.Add(new SqlParameter("time", time.Text));
    cmd.Parameters.Add(new SqlParameter("name", txtName.Text));
    cmd.Parameters.Add(new SqlParameter("quantity", listBox1.Items.Count));
    cmd.Parameters.Add(new SqlParameter("cost", txtCost.Text));
    cmd.Parameters.Add(new SqlParameter("purchase", item.Substring(0,10)));

    cmd.ExecuteNonQuery();
    cmd.Clone();
}

conn.Close();

Det är inte testat, men du fattar.



  1. PL/SQL-prestandajustering för LIKE '%...%' jokerteckenfrågor

  2. PostgreSQL - Utländska nyckelreferenser ömsesidigt exklusiva tabeller

  3. Google Chart Api använder sig av datetime-värdet

  4. Databasbelastningsbalansering med ProxySQL &AWS Aurora