c# 创建mysql存储过程_C#代码如何创建存储过程

本文介绍了如何在C#中创建和调用MySQL存储过程。首先讲解了存储过程的好处,如提高效率和安全性,并展示了在SQL Server中创建存储过程的步骤。接着,提供了在C#代码中调用存储过程的示例,详细说明了连接字符串、参数设置和执行过程。
摘要由CSDN通过智能技术生成

展开全部

存储过程: 固化在SQL数据库系统内部的SQL语句,这样做的好处是可以提高效率、体32313133353236313431303231363533e59b9ee7ad9431333365653266改数据库的安全性、减少网络流量。

1.打开SQL Server数据库,展开 “数据库”系欸但,找到使用的数据库(目标数据库),展开该数据库节点,找到 “可编程性” 节点并展开,就可以看到 “存储过程”,在 “存储过程”上点击右键,新建存储过程,然后会弹出查询分析器,在这输入创建代码就可以

c97eb946b27b88b29eacc9e92d25d631.png

a10436a175c67f87ef505c63e18afe85.gif0be69710cba1d74319c29589d05af306.gif

create proc myinsert -- 创建一个存储过程,名称为myinsert

--这里写参数,如果有的话;没有的话就空着

as

--这里写具体语句,可以写N个

go--可加可不加,go的意思是另起一页,相当于下一个功能块。如果下边不写语句,可以不加!

View Code

代码实例

99ac045c7bfe6b84acfdda9dd3fb390e.gifdee40f5c210cca8993a85028e4142f53.gif

create proc myinsert@Name varchar(50)as insert into Student(Name)values(@Name)go

View Code

上面代码段的存储过程,可以向 Student表中插入一行数据。最后执行代码就能在 “存储过程”下保存次代码段,名为“myinsert”

22e1673f51c6303de8562fd5d3b8cf53.png

上面提到的方法是手动创建一个存储过程的方法,还有另外一种方法,直接在 “新建查询”,打开查询分析器,然后在上边的语句中加入一句话:"use DataBaseName ” ,DataBaseName就是使用的数据库的名字,也就是在这个数据库中建立存储过程

例如:在Test数据库中,对Class表插入一行数据

657fce5cbd4557ecf6329271e227be8e.gif671dce85bc22255acac2a875fbd36fab.gif

d69096c78f8e183a17cd70997776dd0d.gif

use Testgocreate proc myclass    @Name varchar(30)as

insert into Class(Name)values(@Name)go

a7442bd475146ad4653ad5c50bac696d.gif

View Code

存储过程中也可以做 if 判断

d2bcbcefed5e79475761384dda391334.gif9a7c44e1dd84881749c72f8fd38e3f3f.gif

9e8b3b150e7dc403706a977b86306643.gif

USE [Test]GO/****** Object:  StoredProcedure [dbo].[myclass]    Script Date: 10/30/2017 4:30:22 PM ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER proc [dbo].[myclass]

@Name varchar(30),    @SName varchar(50)as

if    @Name!=null

begin

insert into Class(Name)values(@Name)        return

end

if    @SName!=null

begin

insert into Student(Name)values(@SName)    end

97060a4f1ec754417671d48d75a58aff.gif

View Code

2.如何在C# 中调用存储过程

0819f4e7389620f649a2db69935949cc.giff2082ded51de709ab2c3b39ed9032e97.gif

7de7d90c9e726bc4caccaa14fc3a3404.gif

using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Stored_Procedures

{    class Program

{        static void Main(string[] args)

{            string strsql = "Data Source=hw-zhi-02;Initial Catalog=Test;Integrated Security=True";//数据库链接字符串

string sql = "myclass";//要调用的存储过程名

SqlConnection conStr = new SqlConnection(strsql);//SQL数据库连接对象,以数据库链接字符串为参数

SqlCommand comStr = new SqlCommand(sql, conStr);//SQL语句执行对象,第一个参数是要执行的语句,第二个是数据库连接对象

comStr.CommandType = CommandType.StoredProcedure;//因为要使用的是存储过程,所以设置执行类型为存储过程

//依次设定存储过程的参数

comStr.Parameters.Add("@Name", SqlDbType.Text).Value = "";

comStr.Parameters.Add("@SName", SqlDbType.Text).Value = "Test";

conStr.Open();//打开数据库连接

//  MessageBox.Show(comStr.ExecuteNonQuery().ToString());//执行存储过程

SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter(comStr);

DataTable DT = new DataTable();

SqlDataAdapter1.Fill(DT);

conStr.Close();//关闭连接          }

}

}

be11b5f6b7ab1e123cfd98d69b85542c.gif

View Code

最后跑程序,可以在对应数据库中找到添加的数据

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值