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

这是关于datagrid更新的问题,小弟试了很多次,依然找不到问题所在,下面提供调试的两种情况(主要针对sql语句进行修改观察):
1.把where id=@id去掉,然后调试,现象反映:所有记录变成和更新的那行的记录一样(正常),但是如果原来就不存在数据的,就无法插入新数据;而且进行再次更新时无法再更新。

2。不去掉where id=@id,这时的现象是:不能更新,无论输入什么数据都不能更新。

本人的观点:是不是datagrid的属性设置问题?主要就设置了allowpaging=true,allowcustompaging=true(曾是过allowcustompaging=false),也一样

private void Datag_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string sql=" update tongxunlu set name=@name,sex=@sex,addr=@addr,tel=@tel,email=@email,qq=@qq,company=@company,job=@job where id=@id ";

com=new SqlCommand(sql,cn);

com.Parameters.Add("@id",SqlDbType.Int);
com.Parameters["@id"].Value=Datag.DataKeys[(int)e.Item.ItemIndex];

com.Parameters.Add("@name",SqlDbType.VarChar,50,"name");
string colvalue=((TextBox)e.Item.Cells[1].Controls[0]).Text;//问题应该是这个,但是不明白
com.Parameters["@name"].Value=colvalue;

com.Parameters.Add("@sex",SqlDbType.VarChar,50,"sex");
colvalue=((TextBox)e.Item.Cells[2].Controls[0]).Text;
com.Parameters["@sex"].Value=colvalue;

com.Parameters.Add("@addr",SqlDbType.VarChar,50,"addr");
colvalue=((TextBox)e.Item.Cells[3].Controls[0]).Text;
com.Parameters["@addr"].Value=colvalue;

com.Parameters.Add("@tel",SqlDbType.VarChar,50,"tel");
colvalue=((TextBox)e.Item.Cells[4].Controls[0]).Text;
com.Parameters["@tel"].Value=colvalue;

com.Parameters.Add("@email",SqlDbType.VarChar,50,"email");
colvalue=((TextBox)e.Item.Cells[5].Controls[0]).Text;
com.Parameters["@email"].Value=colvalue;

com.Parameters.Add("@qq",SqlDbType.VarChar,50,"qq");
colvalue=((TextBox)e.Item.Cells[6].Controls[0]).Text;
com.Parameters["@qq"].Value=colvalue;

com.Parameters.Add("@company",SqlDbType.VarChar,50,"compamy");
colvalue=((TextBox)e.Item.Cells[7].Controls[0]).Text;
Label2.Text=((TextBox)e.Item.Cells[7].Controls[0]).Text;
com.Parameters["@company"].Value=colvalue;

com.Parameters.Add("@job",SqlDbType.VarChar,50,"job");
colvalue=((TextBox)e.Item.Cells[8].Controls[0]).Text;
com.Parameters["@job"].Value=colvalue;

try
{
cn.Open();
com.ExecuteNonQuery();
cn.Close();}
catch
{Label2.Text="更新失败!";}

Datag.EditItemIndex=-1;
//Datag.DataBind();
BindGrid();

}



private void BindGrid()
{
cn=new SqlConnection("data source=xyizheng;initial catalog=procedure_test;user id=sa;");
// 在此处放置用户代码以初始化页面
string sql="select * from tongxunlu";
cn.Open();
SqlDataAdapter da=new SqlDataAdapter(sql,cn);
//SqlDataReader da=com.ExecuteReader();
DataSet ds=new DataSet();
da.Fill(ds);
Datag.DataSource=ds;
Datag.DataBind();
cn.Close();
}



请各位前辈指点!谢谢您了!
搜索更多相关主题的帖子: 前辈 点化 
2007-01-21 23:19
快速回复:[求助]请前辈点化!谢谢!
数据加载中...
 
   



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

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