国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

c#中如何執行存儲過程

2019-11-17 02:22:55
字體:
來源:轉載
供稿:網友

c#中如何執行存儲過程

  1 using System;  2 using System.Collections.Generic;  3 using System.ComponentModel;  4 using System.Data;  5 using System.Drawing;  6 using System.Linq;  7 using System.Text;  8 using System.Threading.Tasks;  9 using System.Windows.Forms; 10  11 namespace 使用存儲過程 12 { 13     using System.Data.SqlClient; 14     public partial class Form1 : Form 15     { 16         public Form1() 17         { 18             InitializeComponent(); 19         } 20         string connStr = "Data Source=.;Initial Catalog=MySchoolMoreData;Integrated Security=True"; 21  22         #region 調用沒有參數的存儲過程 +void btnNoPARAMAS_Click(object sender, EventArgs e) 23         /// <summary> 24         /// 調用沒有參數的存儲過程 25         /// </summary> 26         /// <param name="sender"></param> 27         /// <param name="e"></param> 28         PRivate void btnNoPARAMAS_Click(object sender, EventArgs e) 29         { 30             //SqlDataAdapter da = new SqlDataAdapter("select * from Student", connStr); 31             SqlDataAdapter da = new SqlDataAdapter("usp_getAllStuInfo", connStr); 32             DataTable dt = new DataTable(); 33             da.Fill(dt); 34             this.dgvList.DataSource = dt; 35         }  36         #endregion 37  38         #region 調用有輸入參數的存儲過程 +void btnHasparamas_Click(object sender, EventArgs e) 39         /// <summary> 40         /// 調用有輸入參數的存儲過程 41         /// </summary> 42         /// <param name="sender"></param> 43         /// <param name="e"></param> 44         private void btnHasParamas_Click(object sender, EventArgs e) 45         { 46             SqlDataAdapter da = new SqlDataAdapter("usp_getStuInfoBySexAndCname", connStr); 47             //1.如果傳入了存儲過程,必須告訴服務器按存儲過程進行處理,否則就會按sql語句進行處理 48             da.SelectCommand.CommandType = CommandType.StoredProcedure; 49             //2.創建存儲過程中所需要的參數,注意:名稱必須與存儲過程的參數名稱對應 50             SqlParameter[] ps = {  51                                 new SqlParameter("@cname",this.cboClass.Text),//Text獲取顯示在下拉列表控件中的文本值 52                                 new SqlParameter("@Sex",rdoMale.Checked?"男":"女") 53                                 }; 54             //3.將參數傳遞給服務器使用 55             da.SelectCommand.Parameters.AddRange(ps); 56             DataTable dt = new DataTable(); 57             da.Fill(dt); 58             this.dgvList.DataSource = dt; 59         }  60         #endregion 61  62         #region 加載班級下拉列表數據和Dgv控件的分頁數據 +void Form1_Load(object sender, EventArgs e) 63         /// <summary> 64         /// 加載班級下拉列表數據和Dgv控件的分頁數據 65         /// </summary> 66         /// <param name="sender"></param> 67         /// <param name="e"></param> 68         private void Form1_Load(object sender, EventArgs e) 69         { 70             #region 加載下拉列表數據 71             SqlDataAdapter da = new SqlDataAdapter("select classid ,classname from classes where classid<@num", connStr); 72             SqlParameter p = new SqlParameter("@num", 15); 73             SqlParameter p2 = new SqlParameter("@num2", 150); 74             da.SelectCommand.Parameters.Add(p2); 75             da.SelectCommand.Parameters.Add(p); 76             DataTable dt = new DataTable(); 77             da.Fill(dt); 78             this.cboClass.DisplayMember = "classname"; 79             this.cboClass.ValueMember = "classid"; 80             this.cboClass.DataSource = dt; 81             #endregion 82  83             LoadDgvData(); 84         }  85         #endregion 86  87         int pageIndex = 1; //當前頁索引 88         //int pageCount = 5; 89  90         #region 調用帶輸出參數和返回值的存儲過程 +void btnOutput_Click(object sender, EventArgs e) 91         /// <summary> 92         /// 調用帶輸出參數和返回值的存儲過程 93         /// </summary> 94         /// <param name="sender"></param> 95         /// <param name="e"></param> 96         private void btnOutput_Click(object sender, EventArgs e) 97         { 98             SqlDataAdapter da = new SqlDataAdapter("usp_GetCountByCnameAndSex", connStr); 99             //1.如果傳入了存儲過程,必須告訴服務器按存儲過程進行處理,否則就會按sql語句進行處理100             da.SelectCommand.CommandType = CommandType.StoredProcedure;101             //2.創建存儲過程中所需要的參數,注意:名稱必須與存儲過程的參數名稱對應102             SqlParameter[] ps = { 103                                 new SqlParameter("@cname",this.cboClass.Text),//Text獲取顯示在下拉列表控件中的文本值104                                 new SqlParameter("@Sex",rdoMale.Checked?"男":"女"),105                                 //創建輸出參數的時候,沒有必要賦值106                                 //創建一個輸出參數,服務器最終將輸出參數的值返回到這個參數對象的Value屬性中107                                 new SqlParameter("@totalCount",100),108                                 new SqlParameter("@cnt",SqlDbType.Int),109                                 new SqlParameter("@result",SqlDbType.Int)110                                 };111             //3.一定要修改輸出參數的方向,否則服務器會將所有參數當成輸入參數進行處理,需要客戶端傳入值,如果沒有就報錯112             ps[0].Direction = ParameterDirection.Input;//默認就是input,不設置也沒有關系113             //ps[2].Direction = ParameterDirection.Output;//設置參數的方向為輸出參數114             //指定方向,是向服務器發送返回對應類型輸出參數或者返回值的請求115             ps[3].Direction = ParameterDirection.Output;116             ps[4].Direction = ParameterDirection.ReturnValue;117             //3.將參數傳遞給服務器使用118             da.SelectCommand.Parameters.AddRange(ps);119             DataTable dt = new DataTable();120             da.Fill(dt);121             this.dgvList.DataSource = dt;122             this.lblMsg.Text = "總人數是:" + ps[2].Value + ",指定性別的人數是:" + ps[3].Value + ",返回值是:" + ps[4].Value;123         } 124         #endregion125 126         #region 下一頁 + void btnNext_Click(object sender, EventArgs e)127         /// <summary>128         /// 下一頁129         /// </summary>130         /// <param name="sender"></param>131         /// <param name="e"></param>132         private void btnNext_Click(object sender, EventArgs e)133         {134             if (pageIndex.ToString() == System.Configuration.ConfigurationManager.AppSettings["totalPageCount"])135             {136                 MessageBox.Show("沒有下一頁了");137                 return;138             }139             pageIndex++;140             LoadDgvData();141         } 142         #endregion143 144         #region 獲取分頁數據 +void LoadDgvData()145         /// <summary>146         /// 獲取分頁數據147         /// </summary>148         private void LoadDgvData()149         {150             string count = System.Configuration.ConfigurationManager.AppSettings["pageCount"];151             SqlParameter[] ps ={152                                 new SqlParameter("@pageIndex",pageIndex),153                                 new SqlParameter("@pageCount",count),154                                 new SqlParameter("@totalPageCount",SqlDbType.Int)155                                };156             ps[2].Direction = ParameterDirection.Output;//修改參數的方法為輸出參數--發送請求157             this.dgvList.DataSource = SqlHelper.ExecuteTable("usp_getPageData", CommandType.StoredProcedure, ps);158             System.Configuration.ConfigurationManager.AppSettings["totalPageCount"] = ps[2].Value.ToString();159         } 160         #endregion161 162         #region 上一頁 +void btnPre_Click(object sender, EventArgs e)163         /// <summary>164         /// 上一頁165         /// </summary>166         /// <param name="sender"></param>167         /// <param name="e"></param>168         private void btnPre_Click(object sender, EventArgs e)169         {170             if (pageIndex == 1)171             {172                 MessageBox.Show("沒有上一頁了");173                 return;174             }175             pageIndex--;176             LoadDgvData();177         } 178         #endregion179     }180 }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平泉县| 资阳市| 巴中市| 正定县| 霍邱县| 涞源县| 扬州市| 塔河县| 松桃| 芜湖市| 尼木县| 沧源| 桂平市| 类乌齐县| 玉田县| 香港| 普兰店市| 河津市| 开原市| 家居| 罗甸县| 当阳市| 岢岚县| 临武县| 黔西| 历史| 永年县| 广昌县| 山西省| 瑞安市| 石河子市| 莱芜市| 广东省| 新巴尔虎右旗| 广灵县| 华亭县| 绥江县| 博乐市| 仙居县| 纳雍县| 酒泉市|