在敲写七层登陆过程中,接触了存储过程的概念,但当时还没使用。在正式的重构过程中,一点点添加,将存储过程也添加到了重构中。才正式了解了存储过程。
首先
【存储过程的概念】
存储过程Procedure是一组为了完成特定功能的sql语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。
存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。
【存储过程的使用】
首先,打开数据库——存储过程
右键—新建存储过程
CREATE PROCEDURE <存储过程名称>
-- Add the parameters for the stored procedure here
<@Param1,sysname,@p1> <datatype_for_param1,int=""> = <default_value_for_param1,0="">,<@Param2,@p2> <datatype_for_param2,int=""> = <default_value_for_param2,0="">
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT <@Param1,@p1>,@p2>
END
GO</default_value_for_param2,></datatype_for_param2,></default_value_for_param1,></datatype_for_param1,>
CREATE PROCEDURE [dbo].[pro_Register] -- Add the parameters for the stored procedure here @Cardno char(12),@Studentno char(12),@Studentname char(12),@Sex char(12),@Department char(12),@Grade char(12),@Class char(12),@Explain varchar(50),@IsCheck char(12),@Type char(12),@Cash numeric(18,1),@Date date,@Time time(0),@UserID char(12),@Status char(12) AS BEGIN insert into T_Student(Cardno,Studentname,Studentno,Sex,Department,Grade,Class,Cash,Explain,IsCheck,UserID,Type,Status)values(@Cardno,@Studentname,'12',@Sex,@Department,@Grade,@Class,@Cash,@Explain,@IsCheck,@UserID,@Type,@Status) insert into T_Recharge(Cardno,Addmoney,Date,Time,@Studentno,@Date,@Time,@Status) END
存储过程名称为:pro_Register
调用时在D层
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
Public Function SelectStudent(ByVal student As Entity.StudentEntity,ByVal recharge As Entity.RechargeEntity) As Boolean Implements IDAL.IStudent.SelectStudent
New sqlParameter(
"@Studentname"
"@UserID"
Dim helper As New sqlHelper
Dim dt As New Integer
dt = helper.ExeAddDelUpdate(
"pro_Register"
sqlparams)
If dt >
0
Then
Return True
Else
Return False
End If
|