解决异常“SqlParameterCollection 只接受非空的 SqlParameter 类型对象。”
2015-11-02 22:31
405 查看
public void DataList_UpdateCommand(Object sender, DataListCommandEventArgs e)
{
string strName = ((Label)e.Item.FindControl("lblName")).Text;
int intChinese = Int32.Parse(((TextBox)e.Item.FindControl("tbChinese")).Text);
int intMath = Int32.Parse(((TextBox)e.Item.FindControl("tbMath")).Text);
int intEnglish = Int32.Parse(((TextBox)e.Item.FindControl("tbEnglish")).Text);
//更新数据库中的数据
string strUpdate = "Update Score Set Chinese=@intChinese,Math=@intMath,English=@intEnglish Where Name=@strName";
SqlParameter[] paras = new SqlParameter[10];
paras[0] = new SqlParameter("@strName", SqlDbType.VarChar);
paras[0].Value = strName;
paras[1] = new SqlParameter("@intChinese", SqlDbType.Int);
paras[1].Value = intChinese;
paras[2] = new SqlParameter("@intMath", SqlDbType.Int);
paras[2].Value = intMath;
paras[3] = new SqlParameter("@intEnglish", SqlDbType.Int);
paras[3].Value = intEnglish;
bool temp = NewsDB.Getcmd(strUpdate, paras);
score.EditItemIndex = -1;
ListBind();
}
一直报错“SqlParameterCollection 只接受非空的 SqlParameter 类型对象”。
后来将
SqlParameter[] paras = new SqlParameter[10];
改成
SqlParameter[] paras = new SqlParameter[4];
以后解决错误。
SqlParameter[] paras = new SqlParameter[10];
是我从别的地方拷贝过来的,而不是自己写的。现在越来越发现拷贝代码虽然快,但是往往存在许多连自己都不易发现的错误。
{
string strName = ((Label)e.Item.FindControl("lblName")).Text;
int intChinese = Int32.Parse(((TextBox)e.Item.FindControl("tbChinese")).Text);
int intMath = Int32.Parse(((TextBox)e.Item.FindControl("tbMath")).Text);
int intEnglish = Int32.Parse(((TextBox)e.Item.FindControl("tbEnglish")).Text);
//更新数据库中的数据
string strUpdate = "Update Score Set Chinese=@intChinese,Math=@intMath,English=@intEnglish Where Name=@strName";
SqlParameter[] paras = new SqlParameter[10];
paras[0] = new SqlParameter("@strName", SqlDbType.VarChar);
paras[0].Value = strName;
paras[1] = new SqlParameter("@intChinese", SqlDbType.Int);
paras[1].Value = intChinese;
paras[2] = new SqlParameter("@intMath", SqlDbType.Int);
paras[2].Value = intMath;
paras[3] = new SqlParameter("@intEnglish", SqlDbType.Int);
paras[3].Value = intEnglish;
bool temp = NewsDB.Getcmd(strUpdate, paras);
score.EditItemIndex = -1;
ListBind();
}
一直报错“SqlParameterCollection 只接受非空的 SqlParameter 类型对象”。
后来将
SqlParameter[] paras = new SqlParameter[10];
改成
SqlParameter[] paras = new SqlParameter[4];
以后解决错误。
SqlParameter[] paras = new SqlParameter[10];
是我从别的地方拷贝过来的,而不是自己写的。现在越来越发现拷贝代码虽然快,但是往往存在许多连自己都不易发现的错误。
相关文章推荐
- [转]Oracle中的索引详解
- 简单的数据库表行列转换实例
- 执行多条SQL语句,执行数据库事务(可传入Sql参数)
- 查询数据库,处理NULL值问题
- 【转】Oracle之物化视图
- 问题解决:SqlParameterCollection只接受非空的SqlParameter类型对象,不接受SqlParameter[]对象
- oracle中不曾熟悉的 to_char、to_number(未完待续)
- 修改查看MySQL编码格式【转载】
- 查看和修改mysql编码方式
- mybatis 从数据库查询的信息不完整解决办法
- Redis概念
- mysqli扩展库应用---程序范例
- redis概要_codepython整理二
- redis主从设置
- 经典SQL语句大全
- oracle linux yum update加速
- 介绍一个开源的在线管理SQLServer的小工具--SQLEntMan
- mysql数据格式问题
- 数据卫士DG
- c3p0连接数据库