C#中怎么調(diào)用SQL存儲(chǔ)過(guò)程

今天就跟大家聊聊有關(guān)C#中怎么調(diào)用SQL存儲(chǔ)過(guò)程,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)自2013年起,先為邛崍等服務(wù)建站,邛崍等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為邛崍企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

C#調(diào)用SQL存儲(chǔ)過(guò)程理論知識(shí)

1、獲得存儲(chǔ)過(guò)程中return語(yǔ)句返回的整個(gè)存儲(chǔ)過(guò)程函數(shù)的返回值:

//獲得存儲(chǔ)過(guò)程return的值,定義一個(gè)參數(shù),指明其作用是接受return的值

CmdObj.Parameters.Add("RETURN_VALUE", SqlDbType.Int).Direction =ParameterDirection.ReturnValue;

通過(guò)獲取該參數(shù)的方式最終獲得return返回的值

int reValue = int.Parse(CmdObj.Parameters["RETURN_VALUE"].Value.ToString());

2、獲得存儲(chǔ)過(guò)程輸出參數(shù)的值:

定義sql的參數(shù),指定類(lèi)型是輸出

CmdObj.Parameters.Add("@outValue", SqlDbType.VarChar).Direction =ParameterDirection.Output;

獲得輸出參數(shù)的值

string outValue = CmdObj.Parameters["@outValue"].Value.ToString();

總結(jié),關(guān)鍵地方就是指明參數(shù)的Direction 屬性,使用ParameterDirection來(lái)指定,可以指定4種類(lèi)型,

輸入,

輸出,

既是輸入又是輸出,

接受return

C#調(diào)用SQL存儲(chǔ)過(guò)程示例演示

/**  * 存儲(chǔ)過(guò)程  *    create procedure queryStuNameById    (     @stuId varchar(10),--輸入?yún)?shù)     @stuName varchar(10) output --輸出參數(shù)    )   as   select @stuName=stuName from stuInfo where stuId=@stuId  *  */
using System;  using System.Collections.Generic;  using System.Text;  using System.Data;  using System.Data.SqlClient;  namespace StoreProduceTest  {      public class Program      {           static void Main(string[] args)          {              Operater op = new Operater();              string name = op.QueryStuNameById("1234");              Console.WriteLine(string.Format("學(xué)號(hào)為1234的學(xué)生的姓名為{0}", name));          }      }      public class Operater      {          private string ConStr = "server=.;database=User;uid=sa;pwd=1234";          private SqlConnection sqlCon = null;          private SqlCommand sqlComm = null;          SqlDataReader dr = null;          public string QueryStuNameById(string Id)          {              string name = "";              try              {                  using (sqlCon = new SqlConnection(ConStr))                  {                      sqlCon.Open();                      sqlComm = new SqlCommand("queryStuNameById", sqlCon);                      //設(shè)置命令的類(lèi)型為存儲(chǔ)過(guò)程                      sqlComm.CommandType = CommandType.StoredProcedure;                      //設(shè)置參數(shù)                      sqlComm.Parameters.Add("@stuId", SqlDbType.VarChar);                      //注意輸出參數(shù)要設(shè)置大小,否則size默認(rèn)為0,                      sqlComm.Parameters.Add("@stuName", SqlDbType.VarChar, 10);                      //設(shè)置參數(shù)的類(lèi)型為輸出參數(shù),默認(rèn)情況下是輸入,                      sqlComm.Parameters["@stuName"].Direction = ParameterDirection.Output;                      //為參數(shù)賦值                      sqlComm.Parameters["@stuId"].Value = "1234";                      //執(zhí)行                      sqlComm.ExecuteNonQuery();                      //得到輸出參數(shù)的值,把賦值給name,注意,這里得到的是object類(lèi)型的,要進(jìn)行相應(yīng)的類(lèi)型輪換                      name = sqlComm.Parameters["@stuName"].Value.ToString();                  }              }              catch (Exception ex)              {                  Console.WriteLine(ex.ToString());              }              return name;          }      }  }

看完上述內(nèi)容,你們對(duì)C#中怎么調(diào)用SQL存儲(chǔ)過(guò)程有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

分享文章:C#中怎么調(diào)用SQL存儲(chǔ)過(guò)程
網(wǎng)頁(yè)網(wǎng)址:http://muchs.cn/article42/jsocec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)關(guān)鍵詞優(yōu)化、網(wǎng)站營(yíng)銷(xiāo)網(wǎng)站改版、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)