| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 534 人关注过本帖
标题:DataGrid数据更新。。。C#
只看楼主 加入收藏
guming
Rank: 4
等 级:业余侠客
威 望:5
帖 子:329
专家分:277
注 册:2006-11-9
结帖率:50%
收藏
 问题点数:0 回复次数:4 
DataGrid数据更新。。。C#
点击Update之后,更新不了数据。。。用Response.Write写出来后,却是如下面的样子。
void dg_Update(Object Sender,DataGridCommandEventArgs e)
{
datacon();
OleDbCommand thisCOMD=thisCN.CreateCommand();
thisCOMD.CommandText="Update students set class=@class,sex=@sex where id=@no";
thisCOMD.Parameters.Add("@class",((TextBox)e.Item.Cells[1].Controls[0]).Text);
thisCOMD.Parameters.Add("@class",((TextBox)e.Item.Cells[2].Controls[0]).Text);
thisCOMD.Parameters.Add("@no",((TextBox)e.Item.Cells[0].Controls[0]).Text);//id放在表格的第一列。
thisCOMD.Parameters["@no"].Value =dg.DataKeys [e.Item.ItemIndex];
Response.Write(""+thisCOMD.CommandText+"");//这句在浏览器中写出来的是:Update students set class=@class,sex=@sex where id=@no.
try
{
thisCOMD.ExecuteNonQuery();
}
catch
{
Response.Write("Sorry!");
}
thisCN.Close();
}
搜索更多相关主题的帖子: DataGrid 数据 
2006-11-20 01:44
tel1982
Rank: 3Rank: 3
来 自:水星
等 级:新手上路
威 望:8
帖 子:852
专家分:0
注 册:2006-10-21
收藏
得分:0 

更新字符串有问题。


Face up to life with smiles no matter what happens
2006-11-20 08:27
lwn
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-8-22
收藏
得分:0 

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

private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string strconn= ConfigurationSettings.AppSettings["dsn"];
SqlConnection cn=new SqlConnection (strconn);
cn.Open();
string sql="Update users set UID=@UID , UPassword=@UPassword,UPower=@UPower,UQuestion=@UQuestion,UAnswer=@UAnswer,Email=@Email where ID=@ID";
SqlCommand cm=new SqlCommand (sql,cn);
cm.Parameters.Add("@ID",((TextBox)e.Item.Cells[2].Controls[0]).Text);
cm.Parameters.Add("@UID",((TextBox)e.Item.Cells[3].Controls[0]).Text);
cm.Parameters.Add("@UPassword",((TextBox)e.Item.Cells[4].Controls[0]).Text);
cm.Parameters.Add("@UPower",((TextBox)e.Item.Cells[5].Controls[0]).Text);
cm.Parameters.Add("@UQuestion",((TextBox)e.Item.Cells[6].Controls[0]).Text);
cm.Parameters.Add("@UAnswer",((TextBox)e.Item.Cells[7].Controls[0]).Text);
cm.Parameters.Add("@Email",((TextBox)e.Item.Cells[8].Controls[0]).Text);
cm.Parameters["@ID"].Value =DataGrid1.DataKeys [e.Item.ItemIndex];


try
{
cm.ExecuteNonQuery ();

}
catch (SqlException exc)
{

Label1.Text ="编辑失败;<br>原因:"+exc.ToString ();
}
finally
{
String mysql="select* from users " ;
SqlDataAdapter dp = new SqlDataAdapter (mysql,cn);
DataSet ds=new DataSet();
dp.Fill (ds,"users");
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
cn.Close ();
Label1.Text ="编辑成功。";
}
首先你在DataGrid的DataKeyFiled属性中填上要更改数据库表的主键,我这个就是“ID”既图片中的“编号”那一列。。

更新以后你在重新绑定一次。。。。。

[此贴子已经被作者于2006-11-20 10:47:58编辑过]


学不好C语言,就娶不上媳妇了!
2006-11-20 10:46
guming
Rank: 4
等 级:业余侠客
威 望:5
帖 子:329
专家分:277
注 册:2006-11-9
收藏
得分:0 
void dg_Update(Object Sender,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
datacon();
OleDbCommand thisCOMD=thisCN.CreateCommand();
thisCOMD.Parameters.Add("@no",((TextBox)e.Item.Cells[0].Controls[0]).Text);
thisCOMD.Parameters.Add("@class",((TextBox)e.Item.Cells[1].Controls[0]).Text);
thisCOMD.Parameters.Add("@sex",((TextBox)e.Item.Cells[2].Controls[0]).Text);
thisCOMD.Parameters["@no"].Value=dg.DataKeys[e.Item.ItemIndex];
thisCOMD.CommandText="Update students set mys=@mys,sex=@sex where id=@no";
try
{
thisCOMD.ExecuteNonQuery();
}
catch
{
Response.Write("Sorry");
Response.Write(""+thisCOMD.CommandText+"");
Response.Write(""+e.Item.ItemIndex+"");
}
finally
{
thisAdapter=new OleDbDataAdapter("Select * from students",thisCN);
thisDS=new DataSet();
thisAdapter.Fill(thisDS,"students");
dg.DataSource=thisDS;
dg.DataBind();
dg.EditItemIndex=-1;
}
thisCN.Close();
}

不想停留。。。
2006-11-21 15:17
guming
Rank: 4
等 级:业余侠客
威 望:5
帖 子:329
专家分:277
注 册:2006-11-9
收藏
得分:0 
问题已解决,,谢谢大家,,

不想停留。。。
2006-11-30 21:58
快速回复:DataGrid数据更新。。。C#
数据加载中...
 
   



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

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