SQL组合查询的存储过程写法
最进一个项目 里面有个查询的功能,它是进行组合查询的, 而且用的是存储过程写。写这样的存储过程,需要注意单引号的使用,请看本人下面的例子,假如你以后写的话 记得注意写就行:
create proc selectbyname
(
@LinkmanName VARCHAR(50)=NULL,
@LinkmanBirthday VARCHAR(50)=NULL,
@LinkmanCatalog VARCHAR(50)=NULL,
@linkmanCompany VARCHAR(50)=NULL,
@LinkmanPhoneNumber VARCHAR(50)=NULL,
@LinkmanEmail VARCHAR(50)=NULL
)
as
declare @string VARCHAR(1000) //此处需要定义长一点那个string 因为你组合起来的话,整个语句加起来的字符就很多的了。
if ( LEN(@LinkmanName)>0)
begin
if @string IS NULL
set @string='select * from linkman where lm_name like '''+@LinkmanName+ '%'''
else
set @string=@string+' and lm_name like '''+@LinkmanName+ '%'''
end
if (LEN(@LinkmanBirthday)>0)
begin
if @string IS NULL
set @string=@string+' select * from linkman where lm_birthday='''+@LinkmanBirthday+''''
else
set @string=@string+' and lm_birthday='''+@LinkmanBirthday+''''
end
if ( LEN(@LinkmanCatalog)>0)
begin
if @string IS NULL
set @string=@string +' select * from linkman where lm_catalog like ''' + @LinkmanCatalog + '%'''
else
set @string=@string +' and lm_catalog like ''' + @LinkmanCatalog + '%'''
end
if (LEN(@linkmanCompany) >0 )
begin
if @string IS NULL
set @string=@string +' select * from linkman where lm_company like '''+ @linkmanCompany + '%'''
else
set @string=@string +' and lm_company like '''+ @linkmanCompany + '%'''
end
if ( LEN(@LinkmanPhoneNumber)>0)
begin
if @string IS NULL
set @string=@string +' select * from linkman where lm_mobile ='''+@LinkmanPhoneNumber+''''
else
set @string=@string +' and lm_mobile ='''+@LinkmanPhoneNumber+''''
end
if (LEN(@LinkmanEmail)>0)
begin
if @string IS NULL
set @string=@string +' select * from linkman where lm_email='''+@LinkmanEmail+''''
else
set @string=@string +' and lm_email='''+@LinkmanEmail+''''
end
if(@string is null)
begin
set @string='select * from linkman '
end
exec( @string)
?
程序界面:
SQL组合查询的存储过程写法 - 376735332 - 376735332的博客
?
确定按钮代码:
private void button1_Click(object sender, EventArgs e)
{
string strProName = "selectbyname";
string conn = DBUtility.SqlHelper.connString;
本文来源于网络,若有侵权,请告知,谢谢!!
SQL组合查询的存储过程写法的更多相关文章
- SQL Server查询所有存储过程信息、触发器、索引
1. [代码]查询所有存储过程 01 select Pr_Name as [存储过程], [参数]=stuff((select ','+[Parameter] 02 from ( 03 se ...
- SQL Server分页的存储过程写法以及性能比较
------创建数据库data_Test ----- create database data_Test GO use data_Test GO create table tb_TestTable - ...
- SQL命令查询Oracle存储过程信息(代码内容等)
SELECT * FROM ALL_SOURCE where TYPE='PROCEDURE' AND TEXT LIKE '%0997500%'; --查询ALL_SOURCE中,(脚本代码)内 ...
- 佩特来项目经验小集合(2)___组合查询存储过程,报错 "varchar JBID='' 转换成数据类型 int 时失败"
今天写一个组合查询的存储过程遇到这样一个问题:在将 varchar 值 'SELECT * FROM View_DLS_WXJD_Customer WHERE 1=1 and JBID ='' ...
- 关系数据库SQL之高级数据查询:去重复、组合查询、连接查询、虚拟表
前言 接上一篇关系数据库SQL之基本数据查询:子查询.分组查询.模糊查询,主要是关系型数据库基本数据查询.包括子查询.分组查询.聚合函数查询.模糊查询,本文是介绍一下关系型数据库几种高级数据查询SQL ...
- 【知识库】-数据库_MySQL之高级数据查询:去重复、组合查询、连接查询、虚拟表
简书作者:seay 文章出处: 关系数据库SQL之高级数据查询:去重复.组合查询.连接查询.虚拟表 回顾:[知识库]-数据库_MySQL之基本数据查询:子查询.分组查询.模糊查询 Learn [已经过 ...
- Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询
1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...
- SQL语句汇总(三)——聚合函数、分组、子查询及组合查询
聚合函数: SQL中提供的聚合函数可以用来统计.求和.求最值等等. 分类: –COUNT:统计行数量 –SUM:获取单个列的合计值 –AVG:计算某个列的平均值 –MAX:计算列的最大值 –MIN:计 ...
- SQL语句汇总(三)——聚合函数、分组、子查询及组合查询
拖了一个星期,终于开始写第三篇了.走起! 聚合函数: SQL中提供的聚合函数可以用来统计.求和.求最值等等. 分类: –COUNT:统计行数量 –SUM:获取单个列的合计值 –AVG:计算某个列的平均 ...
随机推荐
- ZOJ 3817Chinese Knot(The 2014 ACM-ICPC Asia Mudanjiang Regional First Round)
思路: 将4个串每个串都反向这样得到新的四个串一共8个串,对于母串每个位置检测这个串能不能放进去,hs或者后缀数组都可以.然后dp[i][j] (0<i<len 0<=j< ...
- python网络编程【一】
TCP/IP 是标准的协议,它可以使用世界范围内的计算机通过Internet或本地的网络通信 1.编写一个TCP客户端程序 #!/usr/bin/env python import socket, s ...
- js动态添加行
<script> $(function() { //增加上传 var addli = function() { var linum = parseInt($(".pic-wrap ...
- YII2 缩略图生成 第三方包修改
"xj/yii2-thumb-action": "^2.0" 原本的上传路径是全路径 根据日期生成的上传文件夹 不适用 比如 : upload\article\ ...
- 移动互联网公司如何将BPM流程管理变身移动化?
背景介绍 OPPO是广东欧珀移动通信有限公司的旗下品牌,成立于2004年,是一家全球性的智能终端和移动互联网公司,致力于为客户提供最先进和最精致的智能手机.高端影音设备和移动互联网产品与服务,业务覆盖 ...
- 使用GridVIew显示Gantt(甘特图),动态增减列
说明:本例是做了工厂的排机报表 一.根据查询日期初始化GridView列 private void IniGridView(DateTime p_DateS,DateTime p_DateE) { / ...
- Ubuntu Install Java
http://linuxpilot.com/ubuntu-java class HelloWorld{public static void main(String[]arg){System.out.p ...
- 基本ASP的语法规则
1.ASP 文件能够包含服务器端脚本,这些脚本被分隔符 <% 和%> 包围起来. 服务器脚本在服务器上执行,可包含合法的表达式.语句.或者运算符. 向浏览器写输出,用命令response. ...
- one recursive approach for 3, hdu 1016 (with an improved version) , permutations, N-Queens puzzle 分类: hdoj 2015-07-19 16:49 86人阅读 评论(0) 收藏
one recursive approach to solve hdu 1016, list all permutations, solve N-Queens puzzle. reference: t ...
- AngularJs项目实践总结
今年3月接触AngularJs,并且在6月的项目中开始应用,从踩坑到填坑花了不少时间,根据项目中的实际应用情况总结了一些经验,如下: 一.UI控件选择 Angularjs是不缺控件的,Github里现 ...