A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑鹏 中级黑马   /  2012-11-1 12:51  /  1983 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  public int AddNewsPic(NewsPic model)
        {
            string sql = "insert into T_NewsPic(NewsId,PicUrl) output inserted.NewsPicId values(@NewsId,@PicUrl)";
            int id = (int)SqlHelper.ExcuteScalar(sql
            , new SqlParameter("NewsId", model.NewsId)
            , new SqlParameter("PicUrl", model.PicUrl)
            );
            return id;
        }
   总提示output 处有错误,不知道这是为啥呢?

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

4 个回复

正序浏览
吴步兵 发表于 2012-11-10 12:24
单看这个SQL语句应该没问题,除非表T_NewsPic中没有NewsPicId这个列

有啊!而且还是主键
回复 使用道具 举报
单看这个SQL语句应该没问题,除非表T_NewsPic中没有NewsPicId这个列

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
陈育梅 发表于 2012-11-1 13:31
new SqlParameter.add()?

那两个new SqlParameter是给参数sql参数数组赋值的,和add没关系
public static int ExcuteScalar(string strSql, params SqlParameter[] paras)
        {
            int res = -1;
            //创建连接通道
            using (SqlConnection conn = new SqlConnection(strConn))
            {
                //创建命令对象(sql语句,连接通道)
                SqlCommand cmd = new SqlCommand(strSql, conn);
                //添加参数
                cmd.Parameters.AddRange(paras);
                conn.Open();
                res = Convert.ToInt32(cmd.ExecuteScalar());
            }
            return res;
        }
        #endregion
    }

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
new SqlParameter.add()?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马