| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1553 人关注过本帖
标题:GridView删除问题
只看楼主 加入收藏
stonefang
Rank: 1
等 级:新手上路
帖 子:163
专家分:0
注 册:2007-3-20
收藏
 问题点数:0 回复次数:15 
GridView删除问题

我在执行下面的delete操作时出现图片上的错误,请各位指点指点.
protected void Gv_userlist_RowDeleting(object sender, GridViewDeleteEventArgs e)
{//删除
string st_sqlstr = "delete from Users where User_id=@userid";
SqlCommand st_comm = new SqlCommand(st_sqlstr, conn);
st_comm.Parameters.Add(new SqlParameter("@userid", SqlDbType.VarChar, 50));
//st_comm.Parameters["@userid"].Value = st_dtg_userinformation.DataKeys[(int)e.Item.ItemIndex];
//st_comm.Parameters["@userid"].Value = Gv_userlist.DataKeys[(int)e.RowIndex].ToString();//debug
st_comm.Parameters["@userid"].Value=Gv_userlist.DataKeys[(int)e.RowIndex].Values[0].ToString();
st_comm.Connection.Open();
try
{
st_comm.ExecuteNonQuery();
Lbl_note.Text = "删除成功";

}
catch (SqlException)
{
Lbl_note.Text = "删除失败";
Lbl_note.Style["color"] = "red";
}
st_comm.Connection.Close();
St_BindGridView();
}

图片附件: 游客没有浏览图片的权限,请 登录注册

搜索更多相关主题的帖子: GridView userid comm delete 
2007-05-27 22:40
rainic
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2367
专家分:0
注 册:2005-8-9
收藏
得分:0 
DataKeys没设好...

2007-05-28 09:16
GrimFish
Rank: 1
等 级:新手上路
威 望:1
帖 子:167
专家分:0
注 册:2007-5-28
收藏
得分:0 
LS正解,DataKeys没有设置。
2007-05-28 09:23
stonefang
Rank: 1
等 级:新手上路
帖 子:163
专家分:0
注 册:2007-3-20
收藏
得分:0 
楼上的哥们,能帮我写一个代码吗?
你们说的是什么呀?那不是评论而已吗?

我就是我! 从那跌到从那爬起! E-mail:fangguang2008@
2007-05-28 21:04
GrimFish
Rank: 1
等 级:新手上路
威 望:1
帖 子:167
专家分:0
注 册:2007-5-28
收藏
得分:0 
DataKeys不知道吗?

右键单击你的GridView控件--属性。然后在控件属性栏里找到DataKey,设置你数据库表对应的主键字段,比如是ID.然后确定。
2007-05-28 21:42
tel1982
Rank: 3Rank: 3
来 自:水星
等 级:新手上路
威 望:8
帖 子:852
专家分:0
注 册:2006-10-21
收藏
得分:0 
这是我做的,你看一下:
private void bindTogvQz()
{
string strsql = ConfigurationManager.ConnectionStrings["qzsql"].ConnectionString;
SqlConnection con = new SqlConnection(strsql);
con.Open();
string selectstr = "select * from qztable";
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand(selectstr,con);
DataSet ds = new DataSet();
sda.Fill(ds,"qzList");
string[] qz = new string[] {"qzID"};
this.gvQz.DataKeyNames = qz;
//this.gvQz.DataKeyNames = "qzID";
this.gvQz.DataSource = ds.Tables["qzList"].DefaultView;
this.gvQz.DataBind();
sda.Dispose();
con.Close();
con.Dispose();
}
==============
protected void gvQz_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
//try
//{
string strID = this.gvQz.DataKeys[e.RowIndex].Value.ToString();
string strsql = ConfigurationManager.ConnectionStrings["qzsql"].ConnectionString;
SqlConnection con = new SqlConnection(strsql);
con.Open();
string deletestr = "delete from qztable where qzID=" + strID;
SqlCommand cmd = new SqlCommand(deletestr, con);
cmd.ExecuteNonQuery();
cmd.Dispose();
con.Close();
con.Dispose();
this.bindTogvQz();
//}
//catch
//{
// Response.Write("有点错误!");
//}
}
上面的是绑定,下面的是删除。

Face up to life with smiles no matter what happens
2007-05-29 08:40
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
将DataKeyNames 属性值设成表中的主键..

飘过~~
2007-05-29 09:20
stonefang
Rank: 1
等 级:新手上路
帖 子:163
专家分:0
注 册:2007-3-20
收藏
得分:0 

SqlConnection con = DB.CreateConn();
con.Open();

string sqlstr0 = "delete from Teacher_course where Teacher_course.Teacher_id='" + Gv_teach.DataKeys[e.RowIndex].Value.ToString() + "'";
string sqlstr1 = "delete from Teacher where Teacher_id='"+Gv_teach.DataKeys[e.RowIndex].Value.ToString()+"'";
SqlCommand sqlcom0 = new SqlCommand(sqlstr0, con);
sqlcom0.ExecuteNonQuery();

SqlCommand sqlcom1 = new SqlCommand(sqlstr1, con);
sqlcom1.ExecuteNonQuery();
try
{
sqlcom1.ExecuteNonQuery();
Lbl_note.Text = "删除成功";
Lbl_note.Style["color"]="green";

}
catch (SqlException)
{
Lbl_note.Text = "删除失败";
Lbl_note.Style["color"] = "red";
}
sqlcom0.Connection.Close();
sqlcom1.Connection.Close();
St_BindGridView();
这个程序在删除时没有执行try语句,请问怎么改?


我就是我! 从那跌到从那爬起! E-mail:fangguang2008@
2007-05-30 12:40
rainic
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2367
专家分:0
注 册:2005-8-9
收藏
得分:0 
SqlCommand sqlcom1 = new SqlCommand(sqlstr1, con);
sqlcom1.ExecuteNonQuery(); 因为执行到这就出错了... 把这句去掉
try
{
sqlcom1.ExecuteNonQuery();
Lbl_note.Text = "删除成功";

2007-05-30 14:29
stonefang
Rank: 1
等 级:新手上路
帖 子:163
专家分:0
注 册:2007-3-20
收藏
得分:0 

protected void Gv_teach_RowDeleting(object sender, GridViewDeleteEventArgs e)
{//删除数据
SqlConnection con = DB.CreateConn();
con.Open();
//先删除子表
string sqlstr0 = "delete from Teacher_course where Teacher_course.Teacher_id='" + Gv_teach.DataKeys[e.RowIndex].Value.ToString() + "'";
//删除主表
string sqlstr1 = "delete from Teacher where Teacher_id='" + Gv_teach.DataKeys[e.RowIndex].Value.ToString() + "'";
SqlCommand sqlcom = new SqlCommand(sqlstr0, con);
sqlcom.ExecuteNonQuery();
sqlcom = new SqlCommand(sqlstr1,con);
try
{
sqlcom.ExecuteNonQuery();
Lbl_note.Text = "删除成功";
Lbl_note.Style["color"] = "green";

}
catch (SqlException)
{
Lbl_note.Text = "删除失败";
Lbl_note.Style["color"] = "red";
}
sqlcom.Connection.Close();
St_BindGridView();
}
删除数据还是不能显示"删除成功"和删除失败",怎么做呢?帮帮忙啊!我不行了.


我就是我! 从那跌到从那爬起! E-mail:fangguang2008@
2007-05-30 22:27
快速回复:GridView删除问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038825 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved