Я пытаюсь вставить каждую строку в GridView в таблицу одним нажатием кнопки. Моя проблема с приведенным ниже кодом заключается в том, что она только вставляет первую строку и повторяет одну и ту же запись в остальной части gridview. Например, если у меня есть в первом ряду:Вставьте данные из GridView в базу данных одним нажатием кнопки
2 ABC ATL
он повторит это для остальных столбцов. Как я могу захватить каждую строку и вставить ее в мою базу данных? Благодарю. Вот мой код:
protected void Insert(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView1.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
Label ID = GridView1.Rows[0].FindControl("lblID") as Label;
Label NAME = GridView1.Rows[0].FindControl("lblQue") as Label;
TextBox LOC = GridView1.Rows[0].FindControl("txtPM") as TextBox;
SqlConnection con = new SqlConnection(strConnString);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText =
"insert into myTable(ID, NAME, LOC) values(@ID, @NAME, @LOC) " +
// "where [email protected];" +
"SELECT ID, NAME, LOC FROM MYTABLE";
cmd.Parameters.Add("@ID", SqlDbType.VarChar).Value = ID.Text;
cmd.Parameters.Add("@NAME", SqlDbType.VarChar).Value = NAME.Text;
cmd.Parameters.Add("@LOC", SqlDbType.VarChar).Value = LOC.Text;
GridView1.EditIndex = -1;
GridView1.DataSource = GetData(cmd);
GridView1.DataBind();
}
}
}
GridView является не правильный контроль для вставки данных в базу данных. – danish
pls checkout мой ответ, все ответы выглядят хорошо :) –
Я проверил, и это сработало как шарм. спасибо – moe