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

蘿北ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書(shū)合作)期待與您的合作!
下面的CmdObj.是定義的SqlCommand對(duì)象
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ù),指定類型是輸出
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種類型,
輸入,
輸出,
既是輸入又是輸出,
接受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è)置命令的類型為存儲(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ù)的類型為輸出參數(shù),默認(rèn)情況下是輸入,
- sqlComm.Parameters["@stuName"].Direction = ParameterDirection.Output;
- //為參數(shù)賦值
- sqlComm.Parameters["@stuId"].Value = "1234";
- //執(zhí)行
- sqlComm.ExecuteNonQuery();
- //得到輸出參數(shù)的值,把賦值給name,注意,這里得到的是object類型的,要進(jìn)行相應(yīng)的類型輪換
- name = sqlComm.Parameters["@stuName"].Value.ToString();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
- return name;
- }
- }
- }
C#調(diào)用SQL存儲(chǔ)過(guò)程就給大家演示到這里,希望對(duì)大家有所幫助。
網(wǎng)頁(yè)題目:C#調(diào)用SQL存儲(chǔ)過(guò)程示例演示
本文地址:http://fisionsoft.com.cn/article/dpecohp.html


咨詢
建站咨詢
