Как обновить datagridview с помощью кнопки Обновить
я хочу, чтобы обновить столбцы, определенным в элементе управления datagridview используя ниже код но он не работает.
Что я уже пробовал:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.OleDb; using System.Data.SqlClient; using System.Configuration; private void Form2_Load(object sender, EventArgs e) { da = new OleDbDataAdapter("select * from Spldetails",con1); ds = new System.Data.DataSet(); da.Fill(ds, "spldetails"); dataGridView1.DataSource = ds.Tables[0]; } private void button5_Click(object sender, EventArgs e) { using (OleDbConnection con1 = new OleDbConnection(con)) { con1.Open(); for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { cmd = new OleDbCommand(); cmd.Connection = con1; string query2 = "Update Spldetails set Status = @sts,Comment =@cmnt,Approvedhrs =@aphr,Reviewer ='" + Environment.UserName + "',Revieweddate = Now where ID =@id "; cmd.Parameters.AddWithValue("@id", dataGridView1.Rows[i].Cells[0].Value); cmd.Parameters.AddWithValue("@sts", dataGridView1.Rows[i].Cells[10].Value); cmd.Parameters.AddWithValue("@cmnt", dataGridView1.Rows[i].Cells[11].Value); cmd.Parameters.AddWithValue("@aphr", dataGridView1.Rows[i].Cells[13].Value); //cmd.Parameters.AddWithValue("@AfterMC", dataGridView1.Rows[i].Cells[15].Value); cmd.CommandText = query2; cmd.ExecuteNonQuery(); }
Richard Deeming
string query2 = "Update Spldetails set Status = @sts,Comment =@cmnt,Approvedhrs =@aphr,Reviewer ='" + Environment.UserName + "',Revieweddate = Now where ID =@id ";
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]
Вы уже знаете, как использовать параметры, так почему же вы решили не использовать параметр для рецензента?!