sqlcom.Parameters.Add("@ID",SqlDbType.Int);//SqlDbType.Int是你的@ID的类型,根据你的数据类型给定,如果是Varchar等数据类型还需要第三个参数长度sqlcom.Parameters.Add("@ID",System.Data.SqlDbType.VarChar,3);sqlcom.Parameters["@ID"].Value=key;//赋值语句。
解决方案 »
- 源数组长度不足。请检查 srcIndex 和长度以及数组的下限。
- vs2008安装成功后运行提示没有找到msvcr90.dll
- Winfrom DataGridView给单元格中的某个字加底色
- 如何重新启动程序?
- cookies的问题
- 打印预览的时候正常,可是点击预览页面里面的打印按钮,打印出来只有一部分,有谁知道什么原因吗???????
- winform开发移动智能设备web异常
- winfrom判断勾选弹出提示
- session(简单,送分)
- 哪里有treeview下载啊?
- CompileAssemblyFromFileBatch 和 CompileAssemblyFromFile 的区别
- 类似QQ秀技术的解决方案征集……
如果这是模板列就没有错。但你这不是吧
ID是int型的,Name,Sex是vachar型的,我按你说的哪样重写了一次(可能没理解你的意思),还是出现指定的转换无效的提示,不知如何更改,请现指点一下!
sqlcom.Parameters.Add("@ID",SqlDbType.Int);
sqlcom.Parameters["@ID"].Value=key;
sqlcom.Parameters.Add("@Name",System.Data.SqlDbType.VarChar,3);
sqlcom.Parameters.Add("@Name",((TextBox)(e.Item.Cells[1].Controls[0])).Text);
sqlcom.Parameters.Add("@Sex",System.Data.SqlDbType.VarChar,3);
sqlcom.Parameters.Add("@Sex",((TextBox)(e.Item.Cells[2].Controls[0])).Text);
另外这不是模板列。
1: sqlcom.Parameters.Add("@Name",((TextBox)(e.Item.Cells[1].Controls[0])).Text);////
--->
sqlcom.Parameters.Add("@Name",e.Item.Cells[1].Controls[0].Text);直接这样写就ok了
Parameters.Add会自动转换大部分类型(起码money好像不支持),不用你自己操心
2:
string sqlquery="update vs_First"+
"Name=@Name"+
"Sex=@Sex where ID=@ID";
---》
string sqlquery="update vs_First"+
"Name=@Name,"+//你这里少个逗号
"Sex=@Sex where ID=@ID";