データベースから情報を表示するデータグリッドビューがあります。
私は最後の行に情報を追加して、新しい行をデータベースに追加するボタンaddをクリックします。
機能は次のとおりです。私はそれをデバッグすると、すべての行を通過し、すべての情報を取得しますが、データベースに新しい行を追加しません。
機能は自分のデータベースにデータを追加しません
private void addNewAgent()
{
int row = 0;
if (ViewState["CurrentTable"] !=null)
{
DataTable mydt = (DataTable)ViewState["CurrentTable"];
DataRow myrow = null;
if (mydt.Rows.Count>0)
{
for (int i = 1; i <= mydt.Rows.Count; i++)
{
TextBox fn = GridView1.Rows[row].Cells[1].FindControl("txt_FirstName") as TextBox;
TextBox ln = GridView1.Rows[row].Cells[2].FindControl("txt_LastName") as TextBox;
TextBox email = GridView1.Rows[row].Cells[3].FindControl("txt_Email") as TextBox;
myrow = mydt.NewRow();
myrow["UserID"] = i + 1;
mydt.Rows[i - 1]["FirstName"] = fn.Text;
mydt.Rows[i - 1]["LastName"] = ln.Text;
mydt.Rows[i - 1]["email"] = email.Text;
row++;
}
mydt.Rows.Add(myrow);
ViewState["CurrentTable"] = mydt;
GridView1.DataSource = mydt;
GridView1.DataBind();
}
else
{
Response.Write("view state is null");
}
}
}
しかし、それを行うことによって:mydt.Rows.Add(myrow);私は私のテーブルに追加していますか?私は通常、私のコマンドビルダを使用します – NewPassionnate
あなたのデータテーブルは(メモリ内の)データベースから切断され、その変更を永続させるために、特にsqldataadapterを使ってコマンドやロジックを呼び出す必要があります。http://stackoverflow.com/questions/7055799 /後にデータセットを保存する方法をデータベースに変更する方法 –