sqlcon = new SqlConnection(net_xyclysglxt);
            string sqlstr = "exec xyclysglxt_cllbxxxx";
            DataSet cllbxxds = new DataSet();
            SqlDataAdapter cllbxxda = new SqlDataAdapter(sqlstr,sqlcon);
            sqlcon.Open();
            cllbxxda.Fill(cllbxxds,"cllbxx"); !!!---需要参数cllbMC,但是未能提供参数cllbMC
            sqlcon.Close();
            return cllbxxds;
下面存储过程
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
/*系统设置---车辆类别信息查询*/
ALTER PROCEDURE  [dbo].[xyclysglxt_cllbxxxx] 
@cllbMC  [nchar](10)
AS 
SELECT cllbB.cllbMC FROM cllbB
WHERE cllbMC=@cllbMC高手指点下!~~谢谢

解决方案 »

  1.   

    类似这样string sqlstr = "exec xyclysglxt_cllbxxxx 'cllbMC'"; 
      

  2.   

    在代码中要声明存储过程的参数呀!参考
    string conn=连接数据库字符串 
    SqlParameter para = new SqlParameter("@name",SqlDbType.Char,10); 
    para.Direction = ParameterDirection.Input; 
    para.Value = 名字; 
    SqlParameter para2 = new SqlParameter("@pwd",SqlDbType.Char,10); 
    para.Direction = ParameterDirection.Input; 
    para.Value = 密码; 
    SqlParameter para = new SqlParameter("@ISValid",SqlDbType.Char,10); 
    para.Direction = ParameterDirection.ReturnValue; 
    SqlCommand myCommand=new SqlCommand("CheckPass",conn)
    myCommand.CommandType=CommandType.StoredProcedure; 
    myCommand.Parameters.Add(para); 
    myCommand.Parameters.Add(para2); 
    myCommand.ExcuteNonQuery();
    bool isvalid=myCommand.Parameters["@ISvalid"].value; //返回值 
      

  3.   

    xyclysglxt_cllbxxxx这个存储过程这里有个@cllbMC  [nchar](10)字符串的参数啊
    你调用的时候不传这个参数显然是不能运行的
      

  4.   

    @cllbMC  参数你在程序里面没有传呀
      

  5.   

    偷懒一点的做法..string sqlstr = "exec xyclysglxt_cllbxxxx @cllbMC='"+你要传递的值+"'";