组合查询存储过程的实现
来源:互联网 发布:网络推广客服是干嘛的 编辑:程序博客网 时间:2024/05/20 06:08
历经千辛万苦,终于实现了这个组合查询的存储过程。之前在网上看了很多资料,感觉讲的也就那么回事儿。
在写存储过程之前,心中总是有很多疑虑。比如创建好存储过程之后,保存在哪里才会不妨碍它运行呢?我刚写完的存储过程,在SQL Server里对应的位置为什么不显示呢?存储过程的名字怎样起呢?…………
可能就是对这块儿的知识太匮乏了,才会产生诸多疑虑。但是只要你自己动手把它实现了,哪怕是简单功能的实现,都会切身体会到”实践出真知”深刻内涵。
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER PROCEDURE [dbo].[OperRecordThree]--这里定义变量,可以通过外界依次传入参数,与变量匹配 @File varchar(10), --字段0@Operator varchar(2),--操作符0@Context varchar(10),--内容0@RelationOne varchar(3),--关系1@FileOne varchar(10),--字段1@OperatorOne varchar(2), --操作符1@ContextOne varchar(10),--内容1@RelationTwo varchar(3),--关系2@FIleTwo varchar(10), --字段2@OperatorTwo varchar(2),--操作符2@ContextTwo varchar(10)--内容2AS--这里定义临时变量DECLARE @TempSql varchar(500)BEGIN --char(32)是空格,char(39)是单引号set @TempSql='select * from workingTeacher where '+char(32) +@File +@Operator+char(39)+@Context+char(39)+char(32)+@RelationOne+char(32)+@FileOne+@OperatorOne+char(39)+@ContextOne+char(39)+char(32)+@RelationTwo+char(32)+@FIleTwo+@OperatorTwo+char(39)+@ContextTwo+char(39)--下面这一句是执行这个存储过程的语句。execute (@tempsql)END
测试语句:
execute OperRecordThree 'robot','<>','3','and','levels','<>','管理员','and','robot','<>','2'
下面是DAL层的调用函数:
#Region "操作员工作纪律第三排记录" Public Function OperatorRecordThree(ByVal OperatorRec() As Entry.StuBaseInfoInq) As DataTable Dim sql As String = "OperRecordThree" Dim sqlcmd As SqlCommand = New SqlCommand(sql, con) Dim dt As New DataTable Dim dst As New DataSet Dim MyDataAdapter As New SqlDataAdapter sqlcmd.CommandType = CommandType.StoredProcedure '依次为存储过程的参数赋值 sqlcmd.Parameters.Add("@File", SqlDbType.VarChar, 10).Value = OperatorRec(0).Field sqlcmd.Parameters.Add("@Operator", SqlDbType.VarChar, 2).Value = OperatorRec(0).Oper sqlcmd.Parameters.Add("@Context", SqlDbType.VarChar, 10).Value = OperatorRec(0).Context sqlcmd.Parameters.Add("@RelationOne", SqlDbType.VarChar, 3).Value = OperatorRec(1).Relation sqlcmd.Parameters.Add("@FileOne", SqlDbType.VarChar, 10).Value = OperatorRec(1).Field sqlcmd.Parameters.Add("@OperatorOne", SqlDbType.VarChar, 2).Value = OperatorRec(1).Oper sqlcmd.Parameters.Add("@ContextOne", SqlDbType.VarChar, 10).Value = OperatorRec(1).Context sqlcmd.Parameters.Add("@RelationTwo", SqlDbType.VarChar, 3).Value = OperatorRec(2).Relation sqlcmd.Parameters.Add("@FileTwo", SqlDbType.VarChar, 10).Value = OperatorRec(2).Field sqlcmd.Parameters.Add("@OperatorTwo", SqlDbType.VarChar, 2).Value = OperatorRec(2).Oper sqlcmd.Parameters.Add("@ContextTwo", SqlDbType.VarChar, 10).Value = OperatorRec(2).Context MyDataAdapter.SelectCommand = sqlcmd MyDataAdapter.Fill(dst, "workingTeacher") dt = dst.Tables("workingTeacher") con.Open() sqlcmd.ExecuteNonQuery().ToString() Return dt con.Close() End Function#End Region
- 组合查询存储过程的实现
- 存储过程实现组合查询
- 带有存储过程的组合查询
- 组合查询和存储过程
- DataBase.存储过程:实现动态的存储过程查询
- 利用存储过程进行组合查询
- 重构(组合查询)-存储过程
- 组合查询的实现
- 机房收费系统之组合查询:基本字符串拼接方法和存储过程实现
- VB.NET版机房重构----模板方法+存储过程实现组合查询
- 【机房重构】—模板方法+存储过程简单实现组合查询
- 存储过程实现分页查询
- 带参数的存储过程实现任意条件的查询
- 数据库sql的查询统计问题 用存储过程实现;
- ASP.NET利用存储过程实现模糊查询的心得
- Hibernate jdbc查询及存储过程的实现
- ORACLE实现存储过程返回查询结果集合的方法
- 【机房重构】组合查询—存储过程
- [C#]的DateTime.Now函数详解
- linux tar命令使用详解
- 最小路径覆盖(转载)
- 【动态壁纸】海贼王桌面宠物:路飞【升级3.1】
- Asp.net中的Impact字体
- 组合查询存储过程的实现
- 转载findcaiyzh的在自己的电脑上架个网站!Vista+IIS7+花生壳架设网站图文教程
- iOS-如何让xcode自动检查内存泄露
- Digg 顶 踩(jQuery+Ajax)
- 【优化】SQL优化34条
- SQLite3中针对Objective-c的持久层框架
- 线程间通信——数据传递和同步
- Mac OS X 10.7 Lion下载及安装办法
- 搜索引擎原理及其组成部分和功能