代码如下:
SqlConnection conn = new SqlConnection("server=.;database=SQL_Test;uid=sa;pwd=123");
conn.Open();
SqlCommand cmd = 
new SqlCommand("sp_cystyle " + System.DateTime.Now.Year + "," + ds.Tables["year"].Rows[0]["systemsetvalue"] + ",0", conn);
cmd.CommandType = CommandType.StoredProcedure;      
SqlDataAdapter dapa = new SqlDataAdapter(cmd);
dapa.Fill(ds, "style");
conn.Close();提示找不到存储过程!
请赐教!存储过程 sp_cystyle 在SQL_Test真实存在。且有三个参数。
CREATE PROCEDURE sp_cystyle
 @defyear int,
 @setyear int,
 @selection int
AS
BEGIN
 select styleid,s_name from stylepower_elyp where selection='0' and st_year>=(@defyear-@setyear) and selection=@selection order by styleid
END

解决方案 »

  1.   

    你怎么能这样呢?
    SqlConnection conn = new SqlConnection("server=.;database=SQL_Test;uid=sa;pwd=123");
    conn.Open(); SqlParameter p1 = new SqlParameter("@defyear", SqlDbType.Int);
                p1.Direction = ParameterDirection.Input;
                p1.Value = System.DateTime.Now.Year;            SqlParameter p2 = new SqlParameter("@setyear", SqlDbType.Int);
                p2.Value = ds.Tables["year"].Rows[0]["systemsetvalue"];
                p2.Direction = ParameterDirection.Input;            SqlParameter p3 = new SqlParameter("@selection", SqlDbType.Int, 4);
                p3.Direction = ParameterDirection.Input;
                p3.Value = 0;            SqlCommand cmd = conn.CreateCommand();
                cmd.Parameters.Add(p1);
                cmd.Parameters.Add(p2);
                cmd.Parameters.Add(p3);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "sp_cystyle ";
    SqlDataAdapter dapa = new SqlDataAdapter(cmd);
    dapa.Fill(ds, "style");
    conn.Close();
      

  2.   

    SqlCommand cmd=new SqlCommand("存储过程",con);  
    .CommandType=CommandType.StoredProcedure;   SqlConnection Sql = new SqlConnection(ConnStr);
                SqlCommand cmd = new SqlCommand("存储过程", Sql);
                string Str = "exec  ...";
                Sql.Open();
      

  3.   

    SqlConnection conn = new SqlConnection("server=.;database=SQL_Test;uid=sa;pwd=123");
    conn.Open();
    SqlCommand cmd = new SqlCommand("sp_cystyle ", conn);
    cmd.CommandType = CommandType.StoredProcedure;
    DataSet ds = new DataSet();
    SqlDataAdapter dapa = new SqlDataAdapter(cmd);
    dapa.Fill(ds, "style");
    cmd.Parameters.Add("@defyear", SqlDbType.Int).Value = System.DateTime.Now.Year;
    //下面两个语句可能要类型转换
    cmd.Parameters.Add("@setyear", SqlDbType.Int).Value = ds.Tables["year"].Rows[0]["systemsetvalue"];
    cmd.Parameters.Add("@selection", SqlDbType.Int).Value = ds.Tables["year"].Rows[0]["systemsetvalue"];
    conn.Close();
      

  4.   


    SqlConnection conn = new SqlConnection("server=.;database=SQL_Test;uid=sa;pwd=123");
    conn.Open();
    SqlCommand cmd = new SqlCommand("sp_cystyle ", conn);
    cmd.CommandType = CommandType.StoredProcedure;
    DataSet ds = new DataSet();
    SqlDataAdapter dapa = new SqlDataAdapter(cmd);
    dapa.Fill(ds, "style");
    cmd.Parameters.Add("@defyear", SqlDbType.Int).Value = System.DateTime.Now.Year;
    //下面两个语句可能要类型转换
    cmd.Parameters.Add("@setyear", SqlDbType.Int).Value = ds.Tables["year"].Rows[0]["systemsetvalue"];
    cmd.Parameters.Add("@selection", SqlDbType.Int).Value = ds.Tables["year"].Rows[0]["systemsetvalue"];
    conn.Close();
      

  5.   

    惊奇的发现楼主table的名字都不一样,改过来重贴下。。SqlConnection conn = new SqlConnection("server=.;database=SQL_Test;uid=sa;pwd=123");
    conn.Open();
    SqlCommand cmd = new SqlCommand("sp_cystyle ", conn);
    cmd.CommandType = CommandType.StoredProcedure;
    DataSet ds = new DataSet();
    SqlDataAdapter dapa = new SqlDataAdapter(cmd);
    dapa.Fill(ds, "style");
    cmd.Parameters.Add("@defyear", SqlDbType.Int).Value = System.DateTime.Now.Year;
    //下面两个语句可能要类型转换
    cmd.Parameters.Add("@setyear", SqlDbType.Int).Value = ds.Tables["style"].Rows[0]["systemsetvalue"];
    cmd.Parameters.Add("@selection", SqlDbType.Int).Value = ds.Tables["style"].Rows[0]["systemsetvalue"];
    conn.Close();