您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 编程语言综合 >> 正文

C#执行存储过程代码实例

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   C#执行存储过程代码实例,演示如何用C#调用并执行SQLSERVER的存储过程,是一个数据库的高级应用,存储过程相对专业些,但效率更高,而且使SQL的功能发挥的更强大,这仅是一个较简单的存储过程调用例子:

  01using System;

  02using System.Data;

  03using System.Data.SqlClient;

  04namespace ExecuteStorageProcess

  05{

  06 public class ExecuteStorageProcess

  07 {

  08 public static void Main()

  09 {

  10 SqlConnection mySqlConnection =

  11 new SqlConnection(

  12 "server=localhost;database=Northwind;uid=sa;pwd=sa"

  13 );

  14 mySqlConnection.Open();

  15 // 设置CommandText属性为EXECUTE语句

  16 SqlCommand mySqlCommand = mySqlConnection.CreateCommand();

  17 mySqlCommand.CommandText =

  18 "EXECUTE AddProduct @MyProductID OUTPUT, @MyProductName, " +

  19 "@MySupplierID, @MyCategoryID, @MyQuantityPerUnit, " +

  20 "@MyUnitPrice, @MyUnitsInStock, @MyUnitsOnOrder, " +

  21 "@MyReorderLevel, @MyDiscontinued";

  22 // 添加过程调用所要用到的参数

  23 mySqlCommand.Parameters.Add("@MyProductID", SqlDbType.Int);

  24 mySqlCommand.Parameters["@MyProductID"].Direction =

  25 ParameterDirection.Output;

  26 mySqlCommand.Parameters.Add(

  27 "@MyProductName", SqlDbType.NVarChar, 40).Value = "Widget";

  28 mySqlCommand.Parameters.Add(

  29 "@MySupplierID", SqlDbType.Int).Value = 1;

  30 mySqlCommand.Parameters.Add(

  31 "@MyCategoryID", SqlDbType.Int).Value = 1;

  32 mySqlCommand.Parameters.Add(

  33 "@MyQuantityPerUnit", SqlDbType.NVarChar, 20).Value = "1 per box";

  34 mySqlCommand.Parameters.Add(

  35 "@MyUnitPrice", SqlDbType.Money).Value = 5.99;

  36 mySqlCommand.Parameters.Add(

  37 "@MyUnitsInStock", SqlDbType.SmallInt).Value = 10;

  38 mySqlCommand.Parameters.Add(

  39 "@MyUnitsOnOrder", SqlDbType.SmallInt).Value = 5;

  40 mySqlCommand.Parameters.Add(

  41 "@MyReorderLevel", SqlDbType.SmallInt).Value = 5;

  42 mySqlCommand.Parameters.Add(

  43 "@MyDiscontinued", SqlDbType.Bit).Value = 1;

  44 // 执行命令

  45 mySqlCommand.ExecuteNonQuery();

  46 // 读取输出参数的值

  47 Console.WriteLine("New ProductID = " +

  48 mySqlCommand.Parameters["@MyProductID"].Value);

  49 mySqlConnection.Close();

  50 }

  51 }

  52}

  本代码不包括数据库的存储过程实体,你可以自己手动创建一个。

        :更多精彩文章请关注三联编程教程栏目。