this.sqlSelectCommand1.CommandText = "SELECT yp_mc, yp_id, yp_gg, yp_dw, yp_jg FROM yp WHERE (yp_id = @yp_id)";你是搞错了
上面的这个不是存储过程是sql语句
System.Data.CommandType.StoredProcedure; 这句就有出错应该为:this.sqlSelectCommand1.CommandText = "create procedure aaa as SELECT yp_mc, yp_id, yp_gg, yp_dw, yp_jg FROM yp WHERE (yp_id = @yp_id)";

解决方案 »

  1.   

    this.sqlSelectCommand1.CommandType = System.Data.CommandType.StoredProcedure;
    删除
      

  2.   

    楼主列的代码实在是太长了,叫人眼晕。既然你的题目是关于C#调用存储过程的,那我就来对这个问题发表一下自己的观点,我就不仔细看你的代码了。
    要调用存储过程首先要在你的SQL Server里建立一个存储过程,然后用C#中的SqlCommand来调用,将SqlCommand的CommandType设为StoredProcedure,CommandText为存储过程名,如果存储过程中有参数,那就把参数传给Parameters,如果没有当然就不用了。然后将SqlCommand的Connection属性配好就可一运行他了。
    SqlCommand.ExecuteNonQuery();
      

  3.   

    一楼说得对,你搞错了this.sqlSelectCommand1.CommandText = "SELECT yp_mc, yp_id, yp_gg, yp_dw, yp_jg FROM yp WHERE (yp_id = @yp_id)";
    你这不是存储过程啊..所以System.Data.CommandType.StoredProcedure;就会出错!
      

  4.   

    对啊!
    明明用的是sql语句,还说用存储过程。错了!
      

  5.   

    Over code is a sqlcommand but not storepressduce.
    I agree with  vipfenghuang(张伟) .
      

  6.   

    笨!!!
    System.Data.CommandType.StoredProcedure 
    换成
    System.Data.CommandType.text
      

  7.   

    既然SQL语句不是存储过程,就不用赋为存储过程类型了,SQL语句类型就好了。this.sqlSelectCommand1.CommandType = System.Data.CommandType.Text;