读书人

GridView为何无法更新,帖代码了帮小弟

发布时间: 2012-03-09 16:54:57 作者: rapoo

GridView为何无法更新,帖代码了帮我看下吧
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OracleClient;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
GV1();
}
//数据绑定到控件
private void GV1()
{
OracleConnection conn = new OracleConnection( "Data Source=xx;User ID=xx;Password=xx; ");
conn.Open();
OracleDataAdapter oradar = new OracleDataAdapter( "SELECT XMBH , XMMC , JSDW , JSDD , HPPZSJ , HPPW FROM XM order by HPPZSJ ", conn);
DataSet da = new DataSet();
oradar.Fill(da, "XM ");
GridView1.DataSource = da.Tables[ "XM "].DefaultView;
GridView1.DataKeyNames = new string[] { "XMBH " };//必须指定主键,否则删除语句会报错
GridView1.DataBind();
conn.Close();
}
//点击编辑进入到编辑状态
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
GV1();
}
//删除一行
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
OracleConnection conn = new OracleConnection( "Data Source=xx;User ID=xx;Password=xx; ");
string strSQL = "delete from XM where XMBH= ' " + GridView1.DataKeys[e.RowIndex].Value.ToString() + " ' ";
OracleCommand cmd = new OracleCommand(strSQL, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
GV1();


}
//取消编辑状态
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
GV1();
}
//更新一行
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
OracleConnection conn = new OracleConnection( "Data Source=xx;User ID=xx;Password=xx; ");
TextBox t1 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0]));
TextBox t2 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0]));
TextBox t3 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0]));
TextBox t4 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0]));
TextBox t5 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0]));
TextBox t6 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0]));
string strSQL = "update XM set XMBH= ' "
+ t1.Text.ToString() + " ',XMMC= ' "
+ t2.Text.ToString() + " ',JSDW= ' "
+ t3.Text.ToString() + " ',JSDD= ' "
+ t4.Text.ToString() + " ',HPPZSJ= ' "
+ t5.Text.ToString() + " ',HPPW= ' "
+ t6.Text.ToString() + " ' where XMBH= ' "
+ GridView1.DataKeys[e.RowIndex].Value.ToString() + " ' ";
OracleCommand cmd = new OracleCommand(strSQL, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
GridView1.EditIndex = -1;
GV1();
}


}
就更新有问题,更新后还是原来的数据,我在select语句设了断点,发现select语句取的值还是旧的,而不是我更改后的.大家帮忙看看啊.

[解决办法]


protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GV1();
}
}

读书人网 >asp.net

热点推荐