为什么我把datagrid里的列转换为模版列之后,在更新数据的时候说指定的转换无效呢!~
解决方案 »
- 下载的问题
- 在线等~~关于用户控件绑定到数据库的问题
- 有關於判斷字節流的長度.............................
- <customErrors mode="Off"/>求救!SOS
- DvNEWS动网新闻网站的导航二级菜单是怎么实现的呀?这个菜单可以在后台添加菜单项.
- 关于Asp.Net和Asp
- 如果在IIS中没有将虚拟目录配置为应用程序,则可能导致此错误
- 在静态网页中点击广告图片,如何操作后台数据库?
- =====使用VS。NET的问题。用过就进来看看======
- Application_Start为什么在服务端不能正常启动
- vs2005发布网站时,提示错误 BC30554,找了一天没解决,请高手忙帮!
- 100分请教如何让GridView默认显示的就是编辑状态
string content,deep,A,B,C,D,answer;
int id;
id = Convert.ToInt32(DataGrid1.DataKeys[e.Item.ItemIndex]);
content = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
deep = ((TextBox)e.Item.Cells[3].Controls[0]).Text;
A = ((TextBox)e.Item.Cells[4].Controls[0]).Text;
B = ((TextBox)e.Item.Cells[5].Controls[0]).Text;
C = ((TextBox)e.Item.Cells[6].Controls[0]).Text;
D = ((TextBox)e.Item.Cells[7].Controls[0]).Text;
answer = ((TextBox)e.Item.Cells[8].Controls[0]).Text;
SqlConnection conn;
SqlCommand cmd; conn = new SqlConnection(ConfigurationSettings.AppSettings["constring"]);
conn.Open(); cmd = new SqlCommand("update danxuan set content=@content,deep=@deep,choose_A=A,choose_B=B,choose_C=C,choose_D=D,answer=@answer where id=@id",conn);
cmd.Parameters.Add("@id",id);
cmd.Parameters.Add("@content",content);
cmd.Parameters.Add("@deep",deep);
cmd.Parameters.Add("@A",A);
cmd.Parameters.Add("@B",B);
cmd.Parameters.Add("@C",C);
cmd.Parameters.Add("@D",D);
cmd.Parameters.Add("@answer",answer);
cmd.ExecuteNonQuery(); conn.Close(); DataGrid1.EditItemIndex = -1;
data();
这样也行?应该是:
update danxuan set content=@content,deep=@deep,choose_A=@A,choose_B=@B,choose_C=@C,choose_D=@D,answer=@answer where id=@id
指定的转换无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidCastException: 指定的转换无效。源错误:
int id;
id = Convert.ToInt32(DataGrid1.DataKeys[e.Item.ItemIndex]);
content = ((TextBox)e.Item.Cells[1].Controls[0]).Text;
deep = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
A = ((TextBox)e.Item.Cells[3].Controls[0]).Text;
那你在你那把这个加上试试看:
if(e.Item.ItemType==ListItemType.AlternatingItem || e.Item.ItemType==ListItemType.Item)
{
……你的那一大段代码!
}
if(!IsPostBack)
{
}
例如:
update danxuan set content='测试',deep=@deep,choose_A=@A,choose_B=@B,choose_C=@C,choose_D=@D,answer=@answer where id=1
借此学习一下!
先将你的SQL换成这个,测试一下,看看是不是走了代码
我肯定能帮你解决的,别的不敢说,DataGrid还是没问题的,呵呵。
你们有QQ或是MSN吗?我加你们好吗?不能贴图很是郁闷~!