C#中使用存储过程的详细步骤

       看了存储过程,试了好几次都没有成功,在网上找的都是理论的,没有具体的步骤,现在我以一个例子记录存储过程的创建和使用。

       我使用的是visual studio 2010,SqlServer 2008.

       第一步:在VS2010中新建一个名为procedureDemo的SQL Server项目,






















下一步是下图的配置:前提是打开数据库,并且能够连接上数据库。

































在此之前先要创建数据库和表







下一步是在创建的项目上右击选择  添加 ---->存储过程,如下图所示:选择存储过程




























然后打开GetBookTypeCLR.cs,在“在此处添加代码下”添加如下代码

 SqlConnection con = new SqlConnection("Context Connection=true");
        con.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandText = "select bookId,bookName,bookAuthor,bookPrice,publisher from tblBook where typeID = @typeID order by bookID";
        cmd.Parameters.Add("@typeID",SqlDbType.Int);
        cmd.Parameters["@typeID"].Value = TypeID;
        SqlDataReader sdr = cmd.ExecuteReader();
        SqlPipe sp = SqlContext.Pipe;
        sp.Send(sdr);
        con.Close();

下一步是在  “生成”中选择生成解决方案,完成之后再在生成中选择部署解决方案















这样生成的存储过程就可以在SqlServer中查看了,在运行之前还需要做的是在SqlServer中执行这句话:

EXEC sp_configure "clr enabled", 1; 
RECONFIGURE WITH OVERRIDE; 
GO

这样的话就可以调用存储过程了。

下面就是调用这个存储过程:

新建一个名为UseProcedures的Windows应用程序,在Form1窗体中添加一个Button控件、一个ListBox控件。













添加需要引用的命名空间:using System.Data.SqlClient;

双击Button1控件进入Form1.cs,编写使用存储过程的代码。代码如下

  private void button1_Click(object sender, EventArgs e)
        {
            string strCon = @"server=WANG;database=TestSql;uid=sa;pwd=root123";
            SqlConnection con = new SqlConnection(strCon);
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandText = "GetBookTypeCLR";
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter para = new SqlParameter("@typeID", 1);
            cmd.Parameters.Add(para);
            con.Open();
            SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            while (sdr.Read())
            {
                string item = "书名:" + sdr["bookName"] + "作者:" + sdr["bookAuthor"] + "出版社:" + sdr["publisher"];
                listBox1.Items.Add(item);
            }
            sdr.Close();
        }

保存之后就可以运行了,单击【使用存储过程】按钮,然后就可以显示了,显示效果如图所示:









这样就实现了存储过程的创建和调用了。
  • 0
    点赞
  • 4
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

ColdWinter2020

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值