北京北大青鳥:ADO.NET調用存儲過程

      北京北大青鳥通州校區學術部提供:

      一: 執行不帶返回參數(Input)的存儲過程(北京北大青鳥
      1:首先在數據庫寫個存儲過程, 如創建個 addUser存儲過程。
        Create Proc addUser
        @ID int,
        @Name varchar(20),
        @Sex varchar(20)
        As
        Insert Into Users Values( @ID, @Name,@Sex )
      2:創建SqlCommand對象,并初始SqlCommand對象 如:
       SqlCommand cmd = new SqlCommand( );
       cmd.CommandText = "addUser";     // 制定調用哪個存儲過程
       cmd.CommandType = CommandType.StoredProcedure;     // 制定Sql命令類型是存儲過程, 默認的為Sql語句。
       cmd.Connection = con;    // 設定連接
      3:向SqlCommand對象添加存儲過程參數
       SqlParameter param = new SqlParameter( );   // 定義一個參數對象
       param.ParameterName = "@ID";                    // 存儲過程參數名稱
       param.Value = txtID.Text.Trim();                   // 該參數的值
       cmd.Parameters.Add( param );                        // SqlCommand對象添加該參數對象
       param = new SqlParameter( "@Name", txtName.Text.Trim() );  // 簡寫方式
       cmd.Parameters.Add( param );
      4:SqlCommand對象調用執行Sql的函數。 如:
         cmd.ExecuteNonQuery();
               
      二:執行帶返回參數(Output)的存儲過程(北京北大青鳥
          1: 首先在數據庫寫個存儲過程, 如創建個 queryUser存儲過程。
       alter Proc queryUser
             @ID int,
             @Suc varchar(10) output
             As
             select @Suc = 'false'
             if exists( Select * From users where u_id = @ID )
              select @Suc = 'success'
          2:創建SqlCommand對象,并初始SqlCommand對象 如:
            SqlCommand cmd = new SqlCommand( );
            cmd.CommandText = "queryUser";     // 制定調用哪個存儲過程
            cmd.CommandType = CommandType.StoredProcedure;     // 制定Sql命令類型是存儲過程, 默認的為Sql語句。
            cmd.Connection = con;    // 設定連接
          3:向SqlCommand對象添加存儲過程參數
             SqlParameter param1 = new SqlParameter( "@ID", txtID.Text );   // 添加輸入參數
             cmd.Parameters.Add( param1 );
             SqlParameter param2 = new SqlParameter();         // 添加輸出參數
             param2.ParameterName = "@Suc";                       // 名稱
             param2.SqlDbType = SqlDbType.VarChar;         // 輸出參數的Sql類型
             param2.Size = 10;                                                   // 輸出參數的Sql類型大小
             param2.Direction = ParameterDirection.Output;  // 指定該參數對象為輸出參數類型
             cmd.Parameters.Add( param2 );
          4:SqlCommand對象調用執行Sql的函數。 如:
         cmd.ExecuteNonQuery();
         MessageBox.Show( param2.Value.ToString() );  // 輸出輸出參數的值
      輸入參數的存儲過程的示例:
         try
         {
          SqlCommand cmd = new SqlCommand();
          cmd.Connection = con;
          cmd.CommandType = CommandType.StoredProcedure;
          cmd.CommandText = "addUser";
         
          SqlParameter param = new SqlParameter( );
          param.ParameterName = "@ID";
          param.Value = txtID.Text.Trim();
          cmd.Parameters.Add( param );
          param = new SqlParameter( "@Name", txtName.Text.Trim() );
          cmd.Parameters.Add( param );
          param = new SqlParameter();
          param.ParameterName = "@Sex";
          param.Value = txtSex.Text.Trim();
          cmd.Parameters.Add( param );
          //da.InsertCommand = cmd;
         
          if ( cmd.ExecuteNonQuery() == 1 )
          {
           MessageBox.Show( "添加成功" );
          }
          else
          {
           MessageBox.Show("失敗");
          }
         }
         catch( SqlException ex )
         {
          MessageBox.Show( ex.Message );
         }
       
      輸出參數的存儲過程的示例:
          try
         {
          SqlCommand cmd = new SqlCommand( );
          cmd.CommandText = "queryUser";
          cmd.CommandType = CommandType.StoredProcedure;
          cmd.Connection = con;
         
          SqlParameter param1 = new SqlParameter( "@ID", txtID.Text );
          cmd.Parameters.Add( param1 );
          SqlParameter param2 = new SqlParameter();
          param2.ParameterName = "@Suc";
          param2.SqlDbType = SqlDbType.VarChar;
          param2.Size = 10;
          param2.Direction = ParameterDirection.Output;
          cmd.Parameters.Add( param2 );
         
          cmd.ExecuteNonQuery();

          MessageBox.Show( param1.Value.ToString() );
          MessageBox.Show( param2.Value.ToString() );
         }
         catch( SqlException ex )
         {
          MessageBox.Show( ex.Message );
          }

      北京北大青鳥
        

      北大青鳥網上報名
      北大青鳥招生簡章
      主站蜘蛛池模板: 国产一区二区三精品久久久无广告 | 国产精品一区二区久久精品涩爱| 色一乱一伦一图一区二区精品| 99国产精品欧美一区二区三区| 日韩一区二区久久久久久| 欧美日韩精品一区二区在线视频 | 综合久久一区二区三区 | 国产产一区二区三区久久毛片国语| 中文字幕一区二区三区日韩精品| 在线精品一区二区三区电影| 亚洲AV美女一区二区三区| 一区二区三区伦理高清| 日韩精品一区二区三区老鸦窝| 中文字幕一区二区三区在线观看| 国精品无码一区二区三区在线蜜臀| 亚洲AV无码一区二区三区鸳鸯影院 | 中文字幕日韩欧美一区二区三区 | 相泽南亚洲一区二区在线播放| 99精品一区二区免费视频| 日韩人妻无码一区二区三区 | 国产在线一区二区杨幂| 精品一区二区三人妻视频| 色狠狠色狠狠综合一区| 一区二区三区四区视频| 国产午夜精品一区理论片| 国产av福利一区二区三巨| 精品理论片一区二区三区| 欧洲精品码一区二区三区| 色婷婷香蕉在线一区二区| 国产香蕉一区二区在线网站| 日韩AV无码久久一区二区| 无码日韩精品一区二区免费暖暖 | 中文字幕一区二区三匹| 久久久久99人妻一区二区三区| 精品国产日产一区二区三区| 亚洲毛片αv无线播放一区| 中文字幕精品一区二区精品| 亚洲线精品一区二区三区影音先锋| 中文国产成人精品久久一区| 国模无码人体一区二区| 精品少妇一区二区三区视频|