0
私はただ1つの列を持つグリッドビューを持っています。グリッドビューの内容をデータベーステーブルに格納する方法
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
SqlConnection con = new SqlConnection(strConnString);
con.Open();
for (int i = 0; i < GridView1.Rows.Count; i++)
{
string Users = GridView1.Rows[i].Cells[0].Text;
string strQuery = "insert into Table1 (FileName, DateTimeUploaded, Type, Username)" +
" values(@FileName, @DateTimeUploaded, @Type, @Username)";
SqlCommand cmd = new SqlCommand(strQuery);
cmd.Parameters.AddWithValue("@FileName", datalink);
cmd.Parameters.AddWithValue("@Type", ext);
cmd.Parameters.AddWithValue("@DateTimeUploaded", DateTime.Now);
cmd.Parameters.AddWithValue("@Username", Users);
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
cmd.ExecuteNonQuery();
}
con.Close();
con.Dispose();
}
このグリッドビューに2つの行がある場合、最初の行はデータベースに2回格納されます。 gridviewに3つの行がある場合、最初の行は3回格納されます。これをどうすれば解決できますか?
あなたは何をしたいかもしれませんあまりにも多くのことをする前に、 ".Net data binding"を検索してください。あなたはあなたのために必要なすべてをしている何かを見つけるかもしれません... –
コード内の "e.ItemType"をチェックする必要があります。 – Praveen