C#调用SQL存储过程示例演示

C#调用SQL存储过程理论知识

萝北ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

下面的CmdObj.是定义的SqlCommand对象

1、获得存储过程中return语句返回的整个存储过程函数的返回值:

//获得存储过程return的值,定义一个参数,指明其作用是接受return的值

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

通过获取该参数的方式最终获得return返回的值

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

2、获得存储过程输出参数的值:

定义sql的参数,指定类型是输出

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

获得输出参数的值

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

总结,关键地方就是指明参数的Direction 属性,使用ParameterDirection来指定,可以指定4种类型,

输入,

输出,

既是输入又是输出,

接受return

C#调用SQL存储过程示例演示

 
 
 
  1. /**  
  2. * 存储过程  
  3. *   
  4.  create procedure queryStuNameById  
  5.   (  
  6.    @stuId varchar(10),--输入参数  
  7.    @stuName varchar(10) output --输出参数  
  8.   )  
  9.  as 
  10.   select @stuName=stuName from stuInfo where stuId=@stuId  
  11. *  
  12. */  
 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4. using System.Data;  
  5. using System.Data.SqlClient;  
  6. namespace StoreProduceTest  
  7. {  
  8.     public class Program  
  9.     {  
  10.  
  11.         static void Main(string[] args)  
  12.         {  
  13.             Operater op = new Operater();  
  14.             string name = op.QueryStuNameById("1234");  
  15.             Console.WriteLine(string.Format("学号为1234的学生的姓名为{0}", name));  
  16.         }  
  17.     }  
  18.     public class Operater  
  19.     {  
  20.         private string ConStr = "server=.;database=User;uid=sa;pwd=1234";  
  21.         private SqlConnection sqlCon = null;  
  22.         private SqlCommand sqlComm = null;  
  23.         SqlDataReader dr = null;  
  24.         public string QueryStuNameById(string Id)  
  25.         {  
  26.             string name = "";  
  27.             try  
  28.             {  
  29.                 using (sqlCon = new SqlConnection(ConStr))  
  30.                 {  
  31.                     sqlCon.Open();  
  32.                     sqlComm = new SqlCommand("queryStuNameById", sqlCon);  
  33.                     //设置命令的类型为存储过程  
  34.                     sqlComm.CommandType = CommandType.StoredProcedure;  
  35.                     //设置参数  
  36.                     sqlComm.Parameters.Add("@stuId", SqlDbType.VarChar);  
  37.                     //注意输出参数要设置大小,否则size默认为0,  
  38.                     sqlComm.Parameters.Add("@stuName", SqlDbType.VarChar, 10);  
  39.                     //设置参数的类型为输出参数,默认情况下是输入,  
  40.                     sqlComm.Parameters["@stuName"].Direction = ParameterDirection.Output;  
  41.                     //为参数赋值  
  42.                     sqlComm.Parameters["@stuId"].Value = "1234";  
  43.                     //执行  
  44.                     sqlComm.ExecuteNonQuery();  
  45.                     //得到输出参数的值,把赋值给name,注意,这里得到的是object类型的,要进行相应的类型轮换  
  46.                     name = sqlComm.Parameters["@stuName"].Value.ToString();  
  47.                 }  
  48.             }  
  49.             catch (Exception ex)  
  50.             {  
  51.                 Console.WriteLine(ex.ToString());  
  52.             }  
  53.             return name;  
  54.         }  
  55.     }  
  56. }  
  57.  

C#调用SQL存储过程就给大家演示到这里,希望对大家有所帮助。

文章标题:C#调用SQL存储过程示例演示
浏览路径:http://www.shufengxianlan.com/qtweb/news40/177240.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联