C#使用SQL存储过程完整流程
存储过程就是固化在SQL数据库系统内部的SQL语句,这样做的好处是可以提高执行效率、提高数据库的安全性、减少网络流量。接下来就讲解如何在数据库中建立一个存储过程。
打开SQL2055数据库,展开“数据库”节点,找到你使用的数据库(目的数据库),展开该数据库节点,找到“可编程性”节点并展开,就可以看到“存储过程”了,在“存储过程”上点击右键,新建存储过程。然后会弹出查询分析器,在这输入创建代码就可以了。
create proc myinsert -- 创建一个存储过程,名称为myinsert
--这里写参数,如果有的话;没有的话就空着
as
--这里写具体语句,可以写N个
go--可加可不加,go的意思是另起一页,相当于下一个功能块。如果下边不写语句,可以不加!
create proc myinsert
@username varchar(),--注意这里的逗号,多个参数用逗号隔开
@password varchar(),
@name varchar(),
@usertype varchar(),
@createpeople varchar()
as
insert into SystemUsers(UserName,PassWord,Name,UserType,CreatPeople)values(@username,@password,@name,@usertype,@createpeople)
go
这个存储过程可以向SystemUsers表中插入一条记录。
以上讲的是手动建立存储过程的方法,其实完全不必这么麻烦,直接点击SQL2005左上角的“新建查询”,打开查询分析器,然后在上边的语句中加入一句话:“use JF_Charging_System”意思就是使用某个数据库,也就是在哪个数据库中建立存储过程。
例如:
use JF_Charging_System
go
create proc myinsert
@username varchar(),
@password varchar(),
@name varchar(),
@usertype varchar(),
@createpeople varchar()
as
insert into SystemUsers(UserName,PassWord,Name,UserType,CreatPeople)values(@username,@password,@name,@usertype,@createpeople)
go
下面再来讲解如何在C#中调用存储过程。废话不过说,一段完整的代码+注释让你明白一切!这段C#代码和上边的存储过程是完全对应的。
string strsql = "Data Source=localhost;Initial Catalog=######;Integrated Security=True";//数据库链接字符串
string sql = "SelectUserName";//要调用的存储过程名
SqlConnection conStr = new SqlConnection(strsql);//SQL数据库连接对象,以数据库链接字符串为参数
SqlCommand comStr = new SqlCommand(sql, conStr);//SQL语句执行对象,第一个参数是要执行的语句,第二个是数据库连接对象
comStr.CommandType = CommandType.StoredProcedure;//因为要使用的是存储过程,所以设置执行类型为存储过程
//依次设定存储过程的参数
comStr.Parameters.Add("@Param1", SqlDbType.Text).Value = "####";
conStr.Open();//打开数据库连接
// MessageBox.Show(comStr.ExecuteNonQuery().ToString());//执行存储过程
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter(comStr);
DataTable DT=new DataTable ();
SqlDataAdapter1.Fill(DT);
dataGridView1.DataSource = DT;
conStr.Close();//关闭连接
C#使用SQL存储过程完整流程的更多相关文章
- MyBatis源码分析-SQL语句执行的完整流程
MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简 ...
- MySQL数据库(六) —— SQL注入攻击、视图、事物、存储过程、流程控制
SQL注入攻击.视图.事物.存储过程.流程控制 一.SQL注入攻击 1.什么是SQL注入攻击 import pymysql conn = pymysql.Connect( user="roo ...
- mysql 视图 触发器 事物 存储过程 函数 流程控制
1.视图 *** 视图是有一条sql语句的查询结果构成的虚拟表 其不是物理存在的 使用方式与普通表相同 视图的作用1.简化sql语句的编写 2.限制可以查看的数据 可以使用权限来完成 权限某一个库 的 ...
- 深入理解java:4.3.1. 框架编程之MyBatis---SQL语句执行的完整流程
Mybatis的整个的执行流程.如下图所示: 原理详解: MyBatis应用程序根据XML配置文件创建SqlSessionFactory, SqlSessionFactory在根据配置,配置来源于两个 ...
- SQL 存储过程入门(事务)(四)
SQL 存储过程入门(事务)(四) 本篇我们来讲一下事务处理技术. 为什么要使用事务呢,事务有什么用呢,举个例子. 假设我们现在有个业务,当做成功某件事情的时候要向2张表中插入数据,A表,B表,我 ...
- SQL存储过程和函数
SQL存储过程: 由来:在具体应用中,一个完整的操作会包含多条SQL语句,在执行过程中需要根据前面SQL语句的执行结果有选择的执行后面的SQL语句.因此,mysql提供了数据库对象存储过程和函数. 定 ...
- 单点登录(十三)-----实战-----cas4.2.X登录启用mongodb验证方式完整流程
我们在之前的文章中中已经讲到了正确部署运行cas server 和 在cas client中配置. 在此基础上 我们去掉了https的验证,启用了http访问的模式. 单点登录(七)-----实战-- ...
- sql注入判断流程(结合sqli-labs学习)
sql注入判断流程(结合sqli-labs学习) 类型一 类型判断 ?id=1 and 1=2 --+ 如果返回结果正常,说明不是数字类型 and 为两方都为真才算争取 ?id=1' --+ 显示不正 ...
- 3、myql的逻辑架构和sql的执行流程
msyql逻辑架构 逻辑架构的解析 逻辑架构图如下(序号代表的是:服务器处理客户端请求的流程) 1.1connectors connectors是指使用不同语言的客户端与mysql server服务器 ...
随机推荐
- oracle参数open_cursors和session_cached_cursor详解!
SQL> show parameter open_cursors --每个session(会话)最多能同时打开多少个cursor(游标) NAME ...
- MacPE+WinPE-黑苹果之路
装黑苹果过程中,安装.备份.恢复都需要启动到MAC,总是从硬盘启动对于硬盘数据风险太大,琢磨着安装个pe用来维护,此外手上的winpe,也想着一并实现,免得搞两个u盘.找了个网页开工,http://b ...
- 日期:Date
API--- java.util.Date:日期类,月份从0-11: 日期对象和毫秒值之间的转换. 1,日期对象转成毫秒值.Date类中的getTime方法. 2,如何将获取到的毫秒值转成具体的日期呢 ...
- 下载和编译 Open XML SDK
我们需要一些工具来开始 Open XML 的开发. 开发工具 推荐的开发工具是 Visual Studio 社区版. 开发工具:Visual Studio Community 2013 下载地址:ht ...
- Win8系统 Python安装 - 入门
原文:http://www.blogbus.com/hx1987-logs/271955446.html 安装python (1)下载python安装包,下载网站https://www.python. ...
- TestCase--网站注册模块
对于web测试,注册模块是必测的一个点,所以今天就来总结一下注册模块的测试用例 参考京东的注册页面 测试用例设计如下: 一.功能测试 1. 单击“免费注册”,页面是否正常跳转 2. 直接访问注册页 ...
- JavaScript 变量克隆和判断变量类型
一.变量克隆 在js中经常会遇到将一个变量赋值给一个新的变量这种情况,这对于基本类型很容易去实现,直接通过等号赋值就可以了,对于引用类型就不能这样了.(注:像函数,正则也可以直接通过等号赋值) 这里我 ...
- 实验室中搭建Spark集群和PyCUDA开发环境
1.安装CUDA 1.1安装前工作 1.1.1选取实验器材 实验中的每台计算机均装有双系统.选择其中一台计算机作为master节点,配置有GeForce GTX 650显卡,拥有384个CUDA核心. ...
- 如何使用编辑模板在ASPxGridView中进行新增修改(除去常规的gridviw模板编辑外)
aspgridview模板编辑效果图: //前端代码:(核心: <Templates><EditForm>.....中间可用栅格样式布局等(随意)...</Templat ...
- java学习之(内部类)
大部分时候,类被定义成一个独立的程序单元,在某些情况下,也会把一个类放在另一个类的内部定义,这个定义在其他类内部的类就被称为内部类,内部类有如下特点: 1.内部类提供了更好的封闭,可以把内部类隐 ...