C#执行存储过程代码实例
2014-08-20来源:易贤网

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}

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

更多信息请查看IT技术专栏

推荐信息