0
私は2つの列を持つgridviewを持っています。そのうちの1つはドロップダウンリストのテンプレートフィールドです。私はgridviewの外に保存ボタンを使ってデータベースにすべての行を保存したい私がクリックすると、gridviewの最初の行だけが保存されます。どのようにデータベース全体にgridviewを保存できますか?gridviewのすべての行をデータベースasp.netに保存するC#
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < GridView2.Rows.Count; i++)
{
GridViewRow row = GridView2.Rows[i];
string coursecode = DropDownList1.SelectedValue.ToString();
string weekno = DropDownList2.SelectedValue.ToString();
string day = DropDownList3.SelectedValue;
string stid = row.Cells[0].Text;
DropDownList ddlstatus = (DropDownList)row.Cells[1].FindControl("DropDownList9");
string status = ddlstatus.SelectedValue.ToString();
double percentage;
if (status == "A")
{
if (day == "Saturday")
{
percentage = 6.66;
}
else
{
percentage = 3.33;
}
}
else
{
percentage = 0;
}
String strConnString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
String query = "insert into Attendance values (@CourseCode, @St_ID, @WeekNo, @Day,@Status, @Percentage)";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.AddWithValue("@CourseCode", coursecode);
cmd.Parameters.AddWithValue("@WeekNo", weekno);
cmd.Parameters.AddWithValue("@Day", day);
cmd.Parameters.AddWithValue("@St_ID", stid);
cmd.Parameters.AddWithValue("@Status", status);
cmd.Parameters.AddWithValue("@Percentage", percentage);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
Response.Redirect("~/DoctorAddEditAttendance.aspx");
}
}
それは次のとおりです。
なお、この方法をリダイレクトするには良い習慣です。しかし、データバインディングを使用すれば、はるかに簡単になります。 – Crowcoder
解決済み、ありがとうございます。私は解決としてマークすることができますので、あなたの答えを書いてください –