日期:2014-05-19  浏览次数:20444 次

50分求请GridView 输出结果的编辑和更新代码
初学者,请帮忙!
有如下代码实现将SQLSERVER查询结果通过GridView输出到浏览器,显示编辑、更新按钮。
                oCmd   =   New   Data.SqlClient.SqlCommand
                oCmd.Connection   =   New   Data.SqlClient.SqlConnection(strConn)
                oCmd.Connection.Open()

                oCmd.CommandText   =   "select   通知人,处理人,发生时间,故障现象,故障代码,故障类别,基站号   from   gz   "

                Dim   myreader   As   Data.SqlClient.SqlDataReader   =   Nothing
                myreader   =   oCmd.ExecuteReader()
                GridView1.DataSource   =   myreader
                GridView1.DataBind()
                myreader.Close()

                oCmd.Connection.Close()
问题:
怎样实现对输出的其中一条记录进行编辑并保存?
请给出具体代码,谢谢!


                count_gz   =   GridView1.Rows.Count
                Button1.Text()   =   count_gz.ToString

                myreader.Close()

                oCmd.Connection.Close()
5。1过完后急用这个功能,请指点,谢谢!


------解决方案--------------------
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{//进入编辑模式
GridView1.EditIndex = e.NewEditIndex;
bind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{//编辑动作
string id = GridView1.DataKeys[e.RowIndex][ "au_id "].ToString();
string fname = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].FindControl( "TextBox1 ")).Text;
//注意上面,我之所以找到了文本框的名字,那是因为我把所有的列都转换成了模板列,不怕你笑,我整了至少一个小时才整出来
//但是编辑他的数据根本没有这么麻烦,我们即将学到的DetailsView和FromView可以轻松完成这个任务.
//这里我硬着头皮做出来只是因为给有些喜欢玩稀奇的朋友提个思路。
string city = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].FindControl( "TextBox2 ")).Text;
string phone = ((TextBox)GridView1.Rows[e.RowIndex].Cells[3].FindControl( "TextBox3 ")).Text;
string query = "update authors set au_fname= ' " + fname + " ',city= ' " + city + " ',phone= ' "+phone+ " ' where au_id= ' " + id + " ' ";
if (cmd(query) > 0)
{
GridView1.EditIndex = -1;
bind();
}
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{//cancel事件
GridView1.EditIndex = -1;
bind();
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{//删除事件
string id = GridView1.DataKeys[e.RowIndex][ "au_id "].ToString();
//得到该行的主键
string query = "delete from authors where au_id= ' "+id+ " ' ";
if (cmd(query) > 0)
{
bind();
}
}
------解决方案