您的位置:首页 > 编程语言 > ASP

asp.net 用parameter对象更新数据

2010-12-22 22:30 453 查看
  部分摘自asp.net3.5从入门到精通c#2008

  asp.net要执行删除和更新操作实际并不复杂,只要使用一个数据命令(Command)对象,使用Update, Insert 或者Delete 这三个语句之一。在执行删除、更新或插入操作时,并不需要获取获取数据,因此也并不需要使用DataReader对象。

  要执行Updata、Insert或者 Delete语句,只需要创建一个数据命令(Command)对象,然后调用其ExecuteNonQuery()方法来执行数据命令。ExecuteNonQuery()方法将返回受影响的记录数,可以通过检查该方法的返回值,以判断对数据库的操作是否执行成功。例如,如果试图执行一个更新或者删除操作,但是ExecuteNonQuery()方法的返回值为0,则表示操作失败,这个能使由于数据库中并不存在于Where子句中的筛选条件相匹配的记录。(另外,如果该SQL命令具有语法错误,或者该SQL命令试图检索一个数据库中并不存在的表时,将会产生异常。)

这里只说一下更新的方法,先是不安全的代码:

代码

try
  {
    openCon();
    // sTran = con.BeginTransaction();//事务对象
    cmd = new SqlCommand(sql,con);
    //cmd.Transaction = sTran;//执行事务
    // try
    //{
    //调用存储过程
    cmd.CommandType = CommandType.StoredProcedure;
    //添加参数
    SqlParameter[] pars = { new SqlParameter("@FartherTypeID",SqlDbType.Int),
new SqlParameter("@DetailTypeID",SqlDbType.Int),
new SqlParameter("@LevelTypeID",SqlDbType.Int),
new SqlParameter("@BookName",SqlDbType.VarChar,50),
new SqlParameter("@MarketPrice",SqlDbType.Money),
new SqlParameter("@MenberPrice",SqlDbType.Money),
new SqlParameter("@Rebate",SqlDbType.Float),
new SqlParameter("@BookWriter",SqlDbType.VarChar,100),
new SqlParameter("@BookConcern",SqlDbType.VarChar,50),
new SqlParameter("@ISBN",SqlDbType.VarChar,20),
new SqlParameter("@BookIntroduce",SqlDbType.VarChar,5000),
new SqlParameter("@AddDateTime",SqlDbType.DateTime),
new SqlParameter("@BookPicture",SqlDbType.VarChar,200),
};
    foreach (SqlParameter parameter in pars)
    {
      cmd.Parameters.Add(parameter);
   }
    return cmd.ExecuteNonQuery();
}


看看麻烦一点 其实用起来还好的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: