Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Прошу помощи. Вставляется только последняя запись (http://forum.oszone.net/showthread.php?t=207427)

Alex.sys 23-05-2011 20:17 1681268

Прошу помощи. Вставляется только последняя запись
 
Есть код вставки записей в таблицу БД:

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection();
SqlDataAdapter sqlDA;
cmd.CommandText = "insert into AVT (name) values ('" + name.Text + "')";
cmd.CommandText = "insert into AVT (pob) values ('" + pob.Text + "')";
cmd.CommandText = "insert into AVT (fakul) values ('" + fak.Text + "')";
cmd.CommandText = "insert into AVT (grup) values ('" + grup.Text + "')";
cmd.CommandText = "insert into AVT (namberzal) values ('" + namberz.Text + "')";
cmd.CommandText = "insert into AVT (pornamber) values ('" + pornomer.Text + "')";
cmd.CommandText = "insert into AVT (nambermob) values ('" + nomermob.Text + "')";
cmd.CommandText = "insert into AVT (email) values ('" + email.Text + "')";
conn = new SqlConnection("data source=.\\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\\Database.mdf;User Instance=true");
sqlDA = new SqlDataAdapter(cmd);
sqlDA.SelectCommand.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
}
}



после выполние вставляется почему-то только запись с последнего textbox. Как сделать что б вставка проходила со всех textbox-ов???

LilLoco 23-05-2011 20:35 1681286

Alex.sys, Ну так Вы же каждый раз при использовании

Код:

cmd.CommandText = "какая то строка";
заменяете запрос, и в итоге выполняется только последний. Вам нужно объединить строку запроса :

Код:

cmd.CommandText = "insert into [AVT] (name, pob, fakul, grup, namberzal, pornamber, nambermob, email) values (@name, @pob, @fakul, @rup, @namberzal, @pornamber, @nambermob, @email)";
cmd.Parameters.AddWithValue("@name", name.Text);
cmd.Parameters.AddWithValue("@pob", pob.Text);
cmd.Parameters.AddWithValue("@fakul", fakul.Text);
cmd.Parameters.AddWithValue("@grup", grup.Text);
cmd.Parameters.AddWithValue("@namberzal", namberzal.Text);
cmd.Parameters.AddWithValue("@pornamber", pornamber.Text);
cmd.Parameters.AddWithValue("@nambermob",nambermob.Text);
cmd.Parameters.AddWithValue("@email",email.Text);

Должно быть так, если нигде не ошибся)

Alex.sys 23-05-2011 20:57 1681298

LilLoco, выкидывает ошибку см. скрин

LilLoco 23-05-2011 21:07 1681307

Я не вижу скрина :(
а еще не понятно зачем SqlDataAdapter тут!

просто так
Код:

try
{
    conn.open()
    cmd.ExecuteNonQuery();
}
finally
{
  conn.Close();
}


Alex.sys 23-05-2011 21:12 1681310

Вот http://xmages.net/storage/10/1/0/c/4...d/1171a2a7.jpg

LilLoco 23-05-2011 21:25 1681318

Скобочки упустил :(

Код:

cmd.CommandText = "insert into [AVT] (name, pob, fakul, grup, namberzal, pornamber, nambermob, email) values (@name, @pob, @fakul, @rup, @namberzal, @pornamber, @nambermob, @email)";

Alex.sys 23-05-2011 21:43 1681330

LilLoco, спасибо большое. Все работает. You're a great programmer)))


Время: 16:42.

Время: 16:42.
© OSzone.net 2001-