如题

解决方案 »

  1.   

     private void button1_Click(object sender, EventArgs e)
            {            string conncetionstring = "server=.;database=studb;uid=sa;pwd=;";
                SqlConnection con = new SqlConnection(conncetionstring);
                try
                {
                    //parapass存储过程名称(带输入参数)
                    SqlDataAdapter sd=new SqlDataAdapter("parapass",con);
                    //设置适配器的command命令类型
                    sd.SelectCommand.CommandType = CommandType.StoredProcedure;
                    //实例化参数对象
                    SqlParameter sqlpara = new SqlParameter();
                   //命令对象添加参数并设置参数数据类型
                    sqlpara = sd.SelectCommand.Parameters.Add("@labexam", SqlDbType.Int);
                    //设置参数输入输出类型
                    sqlpara.Direction = ParameterDirection.Input;
                    //设置参数的值value
                    sqlpara.Value = this.comboBox1.SelectedItem.ToString();
                    //实例化DataSet
                    DataSet ds = new DataSet();
                    sd.Fill(ds, "stus");
                    this.dataGrid1.DataSource = ds.Tables[0];            }
                catch (SqlException ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }
      

  2.   

    我是想问 在动态Sql语句中 如何去执行 带参数的存储过程
    declare @sql varchar(1000)
    set @sql = 'test_proc 1' 
    exec @sql
    1是想传入的参数
    这样做出错,正确的方法该怎么写呢
      

  3.   

    declare @sql varchar(1000) 
    set @sql = 'exec test_proc 1' 
    exec @sql 
      

  4.   

    exec 存储过程名 参数1,参数n
      

  5.   

    exec test_proc 1这句能执行么??
      

  6.   

    单独执行时可以成功的,如果在
    declare @sql varchar(1000) 
    set @sql = 'exec test_proc 1' 
    exec @sql 
    就出错了
      

  7.   

    declare @sql varchar(1000) 
    set @sql = 'test_proc 1' 
    exec @sql 
    这样写不就不报错了吗?