黑马程序员技术交流社区

标题: 【求助】我的sql语句错在哪 [打印本页]

作者: 郑鹏    时间: 2012-11-1 12:51
标题: 【求助】我的sql语句错在哪
  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 处有错误,不知道这是为啥呢?
作者: 陈育梅    时间: 2012-11-1 13:31
new SqlParameter.add()?
作者: 郑鹏    时间: 2012-11-1 17:03
陈育梅 发表于 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
    }
作者: 吴步兵    时间: 2012-11-10 12:24
单看这个SQL语句应该没问题,除非表T_NewsPic中没有NewsPicId这个列
作者: 郑鹏    时间: 2012-11-11 12:20
吴步兵 发表于 2012-11-10 12:24
单看这个SQL语句应该没问题,除非表T_NewsPic中没有NewsPicId这个列

有啊!而且还是主键




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2