sql >> Database teknologi >  >> RDS >> Mysql

nulværdi undtagelse ved indtastning i databasen

Du skal bruge en parametriseret forespørgsel for at undgå fejlene, da du sammenkæder eksplicitte strengværdier. Din logik er også forkert, hvis du gør dette, vil det medføre unormaliserede data, som vil være uhyggelige for enhver DB-administrator at sortere. Jeg ville overveje at bruge denne i stedet:

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 er ikke testet, men du forstår.



  1. Opdater data til tabel fra dynamisk oprettet inputfelt

  2. Navngivning af primærnøgler id vs something_id i SQL

  3. At slutte sig til 2 et til mange forhold

  4. hvordan konverteres dato til månedsnummer?