Mysql
 sql >> Baza danych >  >> RDS >> Mysql

wyjątek wartości null przy wchodzeniu do bazy danych

Aby uniknąć błędów, musisz użyć zapytania parametrycznego, ponieważ łączysz jawne wartości ciągu. Również twoja logika jest błędna, zrobienie tego spowoduje nieznormalizowane dane, które będą okropne dla każdego administratora DB do sortowania. Rozważałbym użycie tego zamiast:

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

Nie jest testowany, ale masz pomysł.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy kluczowy wyznacznik kandydata jest wystarczająco dobry dla BCNF?

  2. Drukowanie tabeli w poziomie zamiast w pionie za pomocą PHP

  3. Mock bazy danych MySQL w Pythonie

  4. Dlaczego ten wyzwalacz MySQL powoduje przepełnienie stosu?

  5. Jak mogę dokonać porównania ciągów znaków SQL z uwzględnieniem wielkości liter w MySQL?