SqlDataAdapter调用存储过程传参数数组的问题

liweibing2000 2014-08-05 11:03:59
 public DataSet ExcuteQuery(string sql,SqlParameter[]paras,CommandType ct)
{
DataSet ds=new DataSet();
using (SqlDataAdapter sda=new SqlDataAdapter(sql,GetConn()))
{

//SqlDataAdapter sda = new SqlDataAdapter("ImageMessage", myCon);//ImageMessage为存储过程名

//sda.SelectCommand.CommandType = CommandType.StoredProcedure;

//SqlParameter spt = new SqlParameter("@mvName", SqlDbType.VarChar, 20);

//spt.Direction = ParameterDirection.Input;

//spt.Value = mvName;

//sda.SelectCommand.Parameters.Add(spt);

//DataSet ds = new DataSet();

//sda.Fill(ds, "ffc");

//return ds;

sda.Fill(ds);
}
return ds;
}

我是传入一个paras的参数数组,请问怎么修改这个代码.谢谢..
...全文
134 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
liweibing2000 2014-08-05
  • 打赏
  • 举报
回复
忘说了,SQL传入的是一个存储过程名.
liweibing2000 2014-08-05
  • 打赏
  • 举报
回复
public DataSet ExcuteQuery(string sql, SqlParameter[] paras, CommandType ct)
        {
            DataSet ds = new DataSet();
            using (SqlDataAdapter sda = new SqlDataAdapter(sql, GetConn()))
            {
                            
                try
                {
                    sda.SelectCommand.Parameters.AddRange(paras);
                    sda.Fill(ds);
                }
                catch (System.Exception ex)
                {

                    throw ex;
                }
                finally
                {
                    ds.Dispose();
                 }

            }
            return ds;
        }
我改成这样,好像还是报错,说没传入参数.
CGabriel 2014-08-05
  • 打赏
  • 举报
回复

sda.SelectCommand.Parameters.AddRange(paras);
更多的信息: http://msdn.microsoft.com/zh-cn/library/ms136441.aspx

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧