0

I have this code:

private void btnPotvrdi_Click(object sender, EventArgs e)
{
     SqlConnection con = new SqlConnection("Data Source=BCKPSRVR;Initial Catalog=protokol;Integrated Security=True");
     con.Open();
     SqlCommand sc = new SqlCommand("insert into Knjiga (Datum_prijema, Predmet, Posiljalac, Adresa_posiljaoca, Primaoc, Datum_proslijeda)  values ('" + dateTimePicker1.Value.ToString("yyyy-MM-dd") + "','" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + dateTimePicker2.Value.ToString("yyyy-MM-dd") + "');", con);
     int o=sc.ExecuteNonQuery();
     MessageBox.Show(o + " :Podaci su unešeni");
     con.Close();
}

When I insert into this table, I have an auto_increment int primary key column called Osnovni_br. How can i get the last value of that column (Osnovni_br) in MessageBox or insted of MessageBox?

Soner Gönül
  • 97,193
  • 102
  • 206
  • 364
Mladen G
  • 63
  • 7

1 Answers1

0
//read about sql injection here http://www.codeproject.com/Articles/11020/SQL-injection-attacks
using (var conn = new SqlCeConnection("Data Source=BCKPSRVR;Initial Catalog=protokol;Integrated Security=True"))
      {
          conn.Open();
          using (var cmd = new SqlCeCommand())
          {
              cmd.Connection = conn;
              cmd.CommandText = "insert into Knjiga (Datum_prijema, Predmet, Posiljalac, Adresa_posiljaoca, Primaoc, Datum_proslijeda)  values (@Datum_prijema,@Predmet,@Posiljalac,@Adresa_posiljaoca,@Primaoc,@Datum_proslijeda);SELECT CAST(scope_identity() AS int)";
              cmd.Parameters.AddWithValue("Datum_prijema", dateTimePicker1.Value.ToString("yyyy-MM-dd"));
              //.... similarly add other values
              int id = (int)cmd.ExecuteScalar();
          }
      }
Naveed Quadri
  • 498
  • 5
  • 18