请问一个读写数据库的问题!请大家帮帮忙!谢谢!
pyuan 2002-10-23 02:46:04 我在写一个页面,让它在第一次显示的时候把数据读出来显示在页面的DataGridh上!页面上有几个TextBox!下面有一个提交按扭,想在点击后把textbox里的数据传回本页面,然后在页面初始化的时候写入数据库,然后再像开始一样把数据读出来显示在DataGrid上!
下面是我写的代码
private void Page_Load(object sender, System.EventArgs e)
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=D:\\Inetpub\\wwwroot\\12\\db1.mdb";
string strSQL = "SELECT ID,姓名, 姓别, 年龄, 省份, 班级 FROM 表1";
OleDbConnection objConnection = new OleDbConnection(strConnection);
DataSet objDataSet = new DataSet();
OleDbDataAdapter objAdapter = new OleDbDataAdapter(strSQL,objConnection);
objAdapter.Fill(objDataSet,"表1");
if(!(Page.IsPostBack))
{
Dg1.DataSource= objDataSet.Tables["表1"].DefaultView;
Dg1.DataBind();
}
if(Page.IsPostBack)
{
DataTable objTable=objDataSet.Tables["表1"];
DataRow objnewRow=objTable.NewRow();
objnewRow["姓名"]=Request.Form["TextBox1"];
objnewRow["姓别"]=Request.Form["DropDownList1"];
objnewRow["年龄"]=Request.Form["Textbox2"];
objnewRow["省份"]=Request.Form["Textbox3"];
objnewRow["班级"]=Request.Form["Textbox4"];
objTable.Rows.Add(objnewRow);
OleDbCommandBuilder objBuilder=new OleDbCommandBuilder(objAdapter);
objAdapter.UpdateCommand = objBuilder.GetUpdateCommand();
objAdapter.Update(objDataSet,"表1");
objConnection.Open();
OleDbCommand objCmd =new OleDbCommand(strSQL,objConnection);
Dg1.DataSource = objCmd.ExecuteReader(CommandBehavior.CloseConnection);
Dg1.DataBind();
}
}
结果页面第二次显示的时候却发现它对数据库里写入了两条一样的数据!
真不知道怎么搞的,请大家帮帮忙吧!