组合查询以及拼接字符串

首先,什么情况下要用到组合查询呢?总的来说,有两种情况:一是在单个查询中从不同的表返回类似结构的数据;二是对单个表执行多个查询,按单个查询返回数据。在这里,我们说的组合查询是指第二种情况,即要查询的表是固定的,查询条件是不定的并且有多个查询条件。

从例子来看,

例如,输入相应的查询条件

1、教师不等于“0”

2、机器号等于“yang”

两个条件是“与”的关系,我们可以很容易的写出它的sql语句

select * from T_Worklog_Info  where id <> '0' and computer='yang'

所以接下来要做的核心就是拼出这条语句。

在U层,我们把输入的查询条件的信息赋给实体,然后把实体传入B层。

Dim student As New Login.Model.CmbQueryInfo
       Dim Bquery As New Login.BLL.cmbQueryforBLL
       '定义控件基类
       Dim controlArray(2) As System.Windows.Forms.Control
       Dim table As New DataTable
       Dim i As Integer

       controlArray(0) = cmbWord1
       controlArray(1) = cmbOperator1
       controlArray(2) = txtContent1
       '字段名
       student.FileName1 = cmbWord1.Text
       student.FileName2 = cmbWord2.Text
       student.FileName3 = cmbWord3.Text
       '操作符
       student.Operator1 = cmbOperator1.Text
       student.Operator2 = cmbOperator2.Text
       student.Operator3 = cmbOperator3.Text
       '查询内容
       student.QueryContent1 = txtContent1.Text
       student.QueryContent2 = txtContent2.Text
       student.QueryContent3 = txtContent3.Text
       '组合关系
       student.CompositionRelation1 = cmbRelation1.Text
       student.CompositionRelation2 = cmbRelation2.Text  

       DataGridView1.Rows.Clear()
       '查询
       table = Bquery.cmbQuery(student, "T_Worklog_Info")

在B层,接收实体之后,开始拼接字符串。

首先,会用到两个方法。

ModifyFields方法主要是把“卡号”等中文字符转换为数据库中的字段“cardno”。

Public Function ModifyFields(student As Login.Model.CmbQueryInfo) As Login.Model.CmbQueryInfo
    Dim str As String
    Select Case student.FileName1
        Case "卡号"
            str = "cardno"
        Case "学号"
            str = "studentno"
        Case "姓名"
            str = "studentname"
        Case "性别"
            str = "sex"
        Case "系别"
            str = "apartment"
        Case "年级"
            str = "grade"
        Case "班级"
            str = "class"
        Case "上机日期"
            str = "ondate"
        Case "上机时间"
            str = "ontime"
        Case "下机日期"
            str = "offdate"
        Case "下机时间"
            str = "offtime"
        Case "机房号"
            str = "computer"
        Case "机器号"
            str = "computer"
        Case "登录日期"
            str = "LoginDate"
        Case "登录时间"
            str = "LoginTime"
        Case "注销日期"
            str = "LogoutDate"
        Case "注销时间"
            str = "LogoutTime"
        Case "教师"
            str = "id"
        Case Else
            str = ""
    End Select
    student.FileName1 = str  

    'student.FileName2, student.FileName3类似  

    Select Case student.CompositionRelation1
        Case "与"
            str = "and"
        Case "或"
            str = "or"
        Case Else
            str = "NO"
    End Select
    student.CompositionRelation1 = str
    Select Case student.CompositionRelation2
        Case "与"
            str = "and"
        Case "或"
            str = "or"
        Case Else
            str = "NO"
    End Select
    student.CompositionRelation2 = str
    Return student
End Function

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/aspx/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索查询
, text
, filename
, case
, student
, str
, 两个等于号
组合拼接字符串
mysql查询拼接字符串、sql查询拼接字符串、oracle查询拼接字符串、mysql 拼接字符串、sql字符串拼接,以便于您获取更多的相关知识。

时间: 2024-08-01 11:07:11

组合查询以及拼接字符串的相关文章

组合查询之核心:拼接字符串

字符串|组合查询 '组合查询之核心:拼接字符串'功能:定义查询条件,定义返回集,定义排序方式'平台:Windows 2000 Server + IIS5.0 + SQL Server 2000'语言:VBScript'作者:Cheery_Ke'***********Start************'**************读取变量*************...seaLastUpdTime = Request("seaLastUpdTime1")&"-"

&amp;#106avascript极速狂飙:组合拼接字符串的效率

字符串     在脚本开发过程中,经常会按照某个规则,组合拼接出一个大字符串进行输出.比如写脚本控件时控制整个控件的外观的HTML标签输出,比如AJAX里得到服务器端的回传值后动态分析创建HTML标签时,不过这里我就不讨论拼接字符串的具体应用了,我只是想在这里讨论一下拼接的效率.     字符串的拼接在我们写代码的时候都是用"+="这个运算符,s += String; 这是我们最为熟知的写法,不知道大家有没有注意过没有,在组合的字符串容量有几十K甚至几百K的时候,脚本执行起来很慢,CP

JavaScript极速狂飙:组合拼接字符串的效率

javascript|字符串     在脚本开发过程中,经常会按照某个规则,组合拼接出一个大字符串进行输出.比如写脚本控件时控制整个控件的外观的HTML标签输出,比如AJAX里得到服务器端的回传值后动态分析创建HTML标签时,不过这里我就不讨论拼接字符串的具体应用了,我只是想在这里讨论一下拼接的效率.    字符串的拼接在我们写代码的时候都是用"+="这个运算符,s += String; 这是我们最为熟知的写法,不知道大家有没有注意过没有,在组合的字符串容量有几十K甚至几百K的时候,脚

JavaScript组合拼接字符串的效率对比测试

 在脚本开发过程中,经常会按照某个规则,组合拼接出一个大字符串进行输出.比如写脚本控件时控制整个控件的外观的HTML标签输出,比如AJAX里得到服务器端的回传值后动态分析创建HTML标签时,不过这里我就不讨论拼接字符串的具体应用了,我只是想在这里讨论一下拼接的效率. 字符串的拼接在我们写代码的时候都是用"+="这个运算符,s += String; 这是我们最为熟知的写法,不知道大家有没有注意过没有,在组合的字符串容量有几十K甚至几百K的时候,脚本执行起来很慢,CPU使用率狂高,例如:

JavaScript组合拼接字符串的效率对比测试_javascript技巧

在脚本开发过程中,经常会按照某个规则,组合拼接出一个大字符串进行输出.比如写脚本控件时控制整个控件的外观的HTML标签输出,比如AJAX里得到服务器端的回传值后动态分析创建HTML标签时,不过这里我就不讨论拼接字符串的具体应用了,我只是想在这里讨论一下拼接的效率. 字符串的拼接在我们写代码的时候都是用"+="这个运算符,s += String; 这是我们最为熟知的写法,不知道大家有没有注意过没有,在组合的字符串容量有几十K甚至几百K的时候,脚本执行起来很慢,CPU使用率狂高,例如: 复

蛙蛙推荐:asp中的多条件组合查询实现

条件|组合查询 <!-- 蛙蛙推荐:asp中的多条件组合查询实现多条件组合查询在很多地方都很有用,本文用一个简单的例子来实现一种组合查询在示例之前请确保你安装有sqlserver2000及其默认数据库NorhtWind.代码非常直观,加上关键部分我做了注释,所以很容易理解.需要注意的几个问题就是:1.在字符串连接的时候注意两个需要连接的串中第二个串的开头第一个字符应该打一个空格,这样不至于两个串的首尾相连成一个单词.2.righ的left函数取出的结构区分大小写,如果你字符串里用的是'and',

浅析实现排列组合查询算法

所谓的排列组合查询就相当于GOOGLE高级查询中"包含以下全部的字词"查询,也就是说查询中必须包含所有查询关键词,而且他们的顺序可以是任意.以下程序段实现了这一功能.比如输入查询关键字:tom tina则最一般的情况是在程序中使用类似于"select sex from student where name like '%tom%tina%' or name like '%tina%tom%' ordered by age" 的查询语句实现以上的查询,因此如何得到'%

sprintf-bcd码拼接字符串的问题

问题描述 bcd码拼接字符串的问题 请教各位大神,我想把bcd码和字符串拼接起来,用sprintf函数时会把bcd表示的0000 0000 去除,比如:0001 0000 0000(100)和字符串123拼接,结果应该是:0001 0000 0000+123,但是sprintf后的结果是:0001+123:::有什么办法可以正常拼接bcd和string吗? 解决方案 你可以做一个函数将bcd码数组化或字符化,然后组合. 解决方案二: 加格式控制: #include <stdio.h> void

必须知道的SQL编写技巧,多条件查询不拼字符串的写法

原文:必须知道的SQL编写技巧,多条件查询不拼字符串的写法 在做项目中,我们经常遇到复杂的查询方法,要根据用户的输入,判断某个参数是否合法,合法的话才能当作过滤条件,我们通常的做法是把查询SQL赋值给一个字符串变量,然后根据判断条件动态的拼接where条件进行查询.下面来简单说一下写SQL中遇到的问题和解决办法.   一.不确定字段名,而产生的SQL字符串拼接