自己写的一个构造sql语句的类

在VC++中构造SQL语句 在VC++中构造SQL语句=======================Author:  至尊宝宝(杭州)Email:  zaodt_ms@hotmail.comDate:  2008-6-8转载请附带以上信息,谢谢!目录:1、简介2、表结构3、写一条SQL语句4、用程序生成上边的SQL语句5、字符数据类型6、在MFC中使用CString类7、结束语1、简介好多朋友在构造SQL 阅读详情

 

/**
* @package Database Class
* @author injection (mail:injection.mail@gmail.com)
* @version 1.0
*/

@
ini_set( 'display_errors',0 );
class DataBase{
 
private $mDb_host,$mAb_user,$mAb_pwd,$mConn_No;
 
 
function DataBase( $Conn_Obj ){
  
$this->connectDb( $Conn_Obj );
 }
 
 
function connectDb( $Conn_Obj ){
  
$this->mDb_host = $Conn_Obj->host;
  
$this->mAd_name = $Conn_Obj->user;
  
$this->mAd_pwd = $Conn_Obj->pwd;
  
$this->mConn_No = mysql_connect( $this->mDb_host, $this->mAd_name, $this->mAd_pwd );
 }
 
 
function selectDb( $Conn_Obj ){
  
$this->mDb_name = $Conn_Obj->dbname;
  
mysql_select_db( $this->mDb_name );
 }
}

/**
* @package Making Sqls Class exetends Database Class
* @author injection (mail:injection.mail@gmail.com)
* @version 1.0
*/
class MakeSql extends DataBase{
 
private $mSql;
 
function MakeSql( $type,$arr_colum_list, $arr_sql_choice ){
   
$this->MakeSqlType( $arr_colum_list, $arr_sql_choice );
 }
 
 
#switch make list
 function MakeSqlType( $type, $arr_colum_list, $arr_sql_choice ){
  
switch( $type ){
   
case 'insert':
    
return $this->makeInsert(  $arr_colum_list, $arr_sql_choice );
   
case 'select':
    
return $this->makeSelect(  $arr_colum_list, $arr_sql_choice );
   
case 'update':
    
return $this->makeUpdate(  $arr_colum_list, $arr_sql_choice );
   
case 'delete':
    
return $this->makeDelete(  $arr_colum_list, $arr_sql_choice );
  }
 }
 
 
#make insert
 function makeInsert( $arr_colum_list,$arr_sql_choice ){
  
$colum_key = array_keys( $arr_colum_list );
  
$colum_value = array_values( $arr_colum_list );
  
$this->mSql = "INSERT INTO ".$arr_sql_choice["tbl_name"]."( ".join( ',' , $colum_key )." ) VALUES( '".join( "','" , $colum_value )."')";
  
return $this->mSql;
 }
 
 
#making select
 function makeSelect( $arr_colum_list = '*' , $arr_sql_choice ){
  
$colum_value = array_keys( $arr_colum_list );
   
  
foreach( $arr_sql_choice as $sql_key => $sql_value ){
   
if( strcmp( $sql_key, 'tbl_name' ) == 0 ){
    
if( strcmp($arr_colum_list, '*' ) !== 0 )
     
$this->mSql = "SELECT ".join( ',' , $colum_value )." FROM ".$sql_value;
    
else
     
$this->mSql = "SELECT * FROM ".$sql_value;
   }
   
else
    
if( strcmp( $sql_value, '' ) !== 0 )
     
if(strcmp( $sql_key, 'WHERE' ) === 0 && strcmp( $sql_value, 'colum' ) === 0 ){
      
foreach($arr_colum_list As $colum_key => $colum_value )
       
$this->mSql .= "$colum_key = '$colum_value' AND ";
     
$this->mSql = rtrim( $this->mSql, " AND " );
     }
     
else
     
$this->mSql .= " $sql_key ".$sql_value;
  }
  
return $this->mSql; 
 }
 
 
#making update 
 function makeUpdate( $arr_colum_list, $arr_sql_choice ){
  
$this->mSql = "UPDATE ".$arr_sql_choice['tbl_name']." SET ";
  
foreach( $arr_colum_list as $colum_key => $colum_value )
   
$this->mSql .= "$colum_key = '$colum_value',";
  
$this->mSql = rtrim( $this->mSql , ',');
  
foreach( $arr_sql_choice as $sql_key => $sql_value ){
   
if( strcmp( $sql_value, '' ) !== 0 && strcmp( $sql_key, 'tbl_name' ) !==0 && strcmp( $sql_key, 'ORDER BY' ) !== 0 )
     
$this->mSql .= " $sql_key ".$sql_value;
  }
  
return $this->mSql;
 }
 
 
#making delete
 function makeDelete( $arr_colum_list, $arr_sql_choice ){
  
$this->mSql = "DELETE FROM ".$arr_sql_choice['tbl_name'];
  
foreach( $arr_sql_choice as $sql_key => $sql_value ){
   
if( strcmp( $sql_key, 'tbl_name' ) !== 0 && strcmp( $sql_value, '' ) !== 0 ){
    
$this->mSql .= " $sql_key ".$sql_value;
   }
  }
  
return $this->mSql;
 }
} 
如何通过条件构造器 书写 MybatisPlus 复杂 SQL 语句? 哈喽,大家好,我是指北君。 之前有一篇文章,我们介绍过通过 Mybatis Plus 进行增删改查。如下这段代码: 上面两个方法分别是根据id修改表记录,和根据user_name查询记录。构造的条件使用了 UpdateWrapper 和 QueryWrapper ,那么这是什么呢?其实 mybatis plus 通过条件构造器可以组成复杂的SQL语句。本篇博客我们将详细介绍。Mybatis Plus 提供的几种条件构造器,关系如下:我们主要通过 QueryWrapper 和 UpdateWrapper 阅读详情

相关推荐

通过Navicat 写SQL语句

具体步骤: 1、首先打开要写SQL语句的数据库连接 2、然后点击菜单中的查询(query) 3、然后点击新建查询 4、然后输入SQL语句,点击运行,查询到的数据在底部

郭宝的博客 1万+

Sql语句构造类,多字段新增或修改时,拼装sql语句比较方便

using System; using System.Collections.Generic; using System.Text; namespace MSCL { #region 使用示例 /* List<Ftv> ftvlist = new List<Ftv>(); ftvlist.Add(...

diehe5608的博客 175

运算放大器电路仿真实践:从零实现完整示例

通过一个完整的运算放大器电路仿真示例,深入掌握电路仿真的关键步骤与技巧,帮助电子爱好者和工程师快速上手实际项目设计。

weixin_34725745的博客 1318

Mybatis工具—SQL构造器(SQL类)

  Mybatis为了提高构建SQL语句的统一性和便捷性,提供了一个构建SQL语句的工具类——SQL(org.apache.ibatis.jdbc.SQL),是的,你没看错它就叫SQL,使用这个工具类可以很方便地在Java代码中动态构建SQL语句。...

乐只悠悠 3981

Codex全网避坑实录|境外手机号封禁\+Ollama千问适配失败\+第三方中转站TOML全套配置

原生Codex:国内手机号百分百无法登录,PIN验证、多因子验证全部无效,不用尝试API Key登录:仅解锁界面,不充值无法使用功能,纯过渡方案Ollama本地千问:原生接口和Codex不兼容,手写Python代理大概率调试失败,不推荐折腾网页解析失败:只改wire_api为responses即可解决,无需修改接口地址使用建议:仅体验功能用中转站;长期办公提效,成本很高,建议改用兼容接口的本地模型。

驽马不舍 1895

谈谈SAP顾问的几个发展趋势

大家新年好,今天想聊一下对SAP顾问发展趋势的一些个人见解。过去10多年得益于我国的经济发展,外资不断加大在中国的投资和中国企业的发展,SAP顾问行业得到了很大的发展和壮大。那么未来几年SAP顾问的职业发展到底怎么样呢?

syounger的专栏 2513

MyBatis—>SQL语句构建器类

问题 Java程序员面对的最痛苦的事情之一就是在Java代码中嵌入SQL语句。这么来做通常是由于SQL语句需要动态来生成-否则可以将它们放到外部文件或者存储过程中。正如你已经看到的那样,MyBatis在它的XML映射特性中有一个强...

chuge6367的博客 584

金蝶云星空核心数据表解析与高效关联查询指南

本文深入解析金蝶云星空核心数据表结构,提供高效关联查询的实战指南。文章详细介绍了基础资料、业务单据和财务模块的关键表及其关联逻辑,重点阐述了如何利用关联表(_LK表)进行跨单据溯源,并分享了编写高性能SQL的实用技巧与避坑建议,帮助开发者、实施顾问和数据分析师快速掌握数据查询方法,提升工作效率。

weixin_29254673的博客 524

数据构造工具类(-)根据实体类生成sql

根据实体类生成sql(实体类字段与数据库保持一致)实体类 public class AccountEntity:IEntity { public int? ID { get; set; } public string Names { get; set; } public string TYPEID { get; set; } ...

东明之羞的博客 2788

界面上下固定_基于ANSYS的胶粘结构界面开裂有限元计算

引言:目前工程上主要有螺栓,过盈,焊接和胶粘四种常用的连接方式,本文基于ANSYS Workbench环境,引入内聚力模型来实现对胶粘结构界面开裂失效的计算,文中的界面失效参数为随意给定,不是工程实际测试数据,仅起到演示作用!1.问题的描述如图所示给出了胶粘结构的三维模型,该胶粘结构由上下钢板组成,中间通过胶粘接到一起。(胶不需要建模,其影响主要通过内聚力模型实现)上下板的材料为结构钢,...

weixin_29473667的博客 1万+

Verilog--CDC跨时钟域处理(快时钟域到慢时钟域)

Verilog--CDC跨时钟域处理(快时钟域到慢时钟域)CDC问题单比特信号的跨时钟域问题从快时钟域到慢时钟域从慢时钟域到快时钟域多比特信号的跨时钟域问题异步FIFO握手协议 今天先写单比特信号从快时钟域到慢时钟域的方法,后续继续填坑 CDC问题 单比特信号的跨时钟域问题 从快时钟域到慢时钟域 设计思想   从慢时钟域到快时钟域通常使用打两拍的方法,这也适用于从快时钟域到慢时钟域时,但是如果当单比特信号持续时间小于快时钟域的一个周期时,需要用展宽信号再打两拍的方法。 设计相关代码 module Sync_

weixin_44425619的博客 9360

SQL查找条件语句构造类

<br />using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections;//引入哈希表命名空间 namespace Common { /// <summary> /// SqlStringConstructor 的摘要说明 /// 动态构造拼接sql语句,用于商品多项选择搜索时 /// <

一个情绪猿的脖克... 2195

YOLOv8中的可变形卷积改进 | 从DCNv1到DCNv3的多位置替换可变形卷积保姆级实操

可变形卷积(Deformable Convolution)最早由Dai等人在2017年提出,其核心思想是在标准卷积操作的基础上,引入可学习的偏移量(offsets),使卷积核能够自适应调整其采样位置,从而增强模型对目标变形的感知能力。return x本文通过深入探讨可变形卷积在YOLOv8中的应用,详细介绍了DCNv1、DCNv2和DCNv3的原理和实现,并通过实验验证了其在目标检测任务中的有效性。未来,我们将继续探索更多优化策略和技术,提升YOLOv8模型的性能,以应对更复杂的目标检测任务。

一键难忘的博客 4049

一个类代替SQL语句

转自:http://junglesong.yculblog.com在程序中写SQL语句是我们通常用于访问数据库的方法,但这种方式和OO是不兼容的,有很多弊端,但O/R Mapping有时又有点庞大,本人制作了几个类,希望和大家探讨一下一种新方法的可行性。讲述在下面,请大家保持耐心。先把类代码贴上来:// SqlMaker:这个类构成SQL语句的主体。import java.util.HashM

信缘的人 1162

给跨代引用记一本账:Java GC 的分配路径、卡表写屏障与收集器版图快速回顾

本文把 Java GC 的零散名词串成一条推理链路:从 TLAB 指针碰撞分配、逃逸分析,到 Eden、Survivor 与晋升的四条路,重点拆解卡表与写屏障如何为老年代指向新生代的引用记账,及 Minor GC 如何只扫脏卡。基于 JDK 8 实测:分散写使 Young GC 停顿涨 10~15 倍,条件卡标记消除卡表伪共享,计数循环让 System.gc 等待 2.7 秒,Survivor 过小使晋升量增加约 400 倍。文末梳理 JDK 8 到 27 的收集器演进、选型路径与排查顺序。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 17万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

mysql 删除一个字段语句怎么写_删除的sql语句怎么写

1. 删除一个表的sql 语句怎么写啊使用drop语句,drop table (需要删除表的名字)。drop是删除整个表,delete是删除表的内容。 drop语句的作用:删除内容和定义,释放空间,简单来说就是把整个表去掉。以后要新增数据是不可能的,除非新增一个表。 删除表时需要注意的事项: 1、如果删除应用表别名,则delete 后面一定要接对应的别名,然后再接表名,不然报错。2、dele...

weixin_42300927的博客 6191

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java 类sql语句_一个整合SQL语句的类

我们在写ASP数据库程序的时候,通常都会用到SQL语句,而在增加数据和更新数据的时候,通常会使用一下方式:insert into message (incept,sender,title,content,sendtime,flag,issend) values ('"&incept(i)&"','"&membername&"','"&title&"'...

weixin_29358053的博客 334

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

MyBatisPlus--条件构造器及自定义SQL详解

自定义SQL并不是亲自去写SQL语句,而是利用MyBatisPlus的Wrapper来构建复杂的where条件,然后自己定义SQL语句剩下的部分。即在SQL语句中,用Wrapper来做SQL语句的where部分,剩下的自己来写,也就是说,以前使用MyBatisPlus的时候,所有的SQL语句都是由MyBatisPlus来生成,等于是全自动,现在是只有Where部分由MyBatisPlus生成,相当于半自动。那为什么要这么去做?根据案例分析:案例:自定义SQL。

m0_73856804的博客 2058

mybatis的mapper文件中的一个标签是否可以写多条SQL语句?是否存在事物?

本文目录mybatis的mapper文件中的一个标签是否可以写多条SQL语句?是否存在事物?数据库事物的四大特性问题答案验证答案一、创建数据库表二、搭建SpringBoot+Mybatis项目(略)三、编写MVC三层代码四、启动服务器 mybatis的mapper文件中的一个标签是否可以写多条SQL语句?是否存在事物? 这篇博文的由来,朋友面试遇到两个问题? 第一个问题是mybatis的mapper文件中的一个标签是否可以写多条SQL语句? 第二个问题是上述问题如果成立,那么这个标签内是否存在事物? 数

趣学程序 7818

一个整合SQL语句的类

我们在写ASP数据库程序的时候,通常都会用到SQL语句,而在增加数据和更新数据的时候,通常会使用一下方式:insert into message (incept,sender,title,content,sendtime,flag,issend) values ("&incept(i)&","&membername&","&title&","&message&",Now(),0,1

黄灯桥的专栏 2939

写在类里面的sql语句综合

把sql语句写在类里面在以后的使用中直接调用,不仅提高了代码的重用率,也很好的简化了页面的代码复杂度,其实现在大多数公司都是这样做的,自己没有刻意去寻找是否网上已经有这样的代码,既然自己写了,就贴出来给大家批评指正吧。下面是三个最基本的语句(SELECT、UPDATE、INSERT)using System;using System.Data;using System.Configurat

Awen_Q的专栏 1162

php 拆分sql语句,php 构造SQL语句的类示例

这篇文章主要为大家详细介绍了php 构造SQL语句的类示例,具有一定的参考价值,可以用来参考一下。php构造sql语句的类,感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧。经测试代码如下:/*** @package Database Class* @version 1.0* @author 512笔记 www.512pic.com**/@ini_set( 'display_errors'...

weixin_42099087的博客 253

mybatis+mysql中一个标签内写两条sql语句报错

<update id="bindStu"> update edu_student set user_username=#{user_username} where stu_id = #{stu_id}; update edu_user set stu_id=#{stu_id} where user_username=#{user_username...

文戌 1098

mysql怎么写sql语句_Navicat如何写sql语句

sql是操作数据库中数据的语句,在不同的数据库中会略有不同。Navicat for MySQL是一款很方便的MySQL客户端工具,能够很好的提供操作数据库可视界面,在同类型的软件中,占有极高的市场份额。为了方便大家学会在Navicat写sql语句的技巧,下面将教手把手给大家进行演示。具体操作步骤如下:步骤一 打开你电脑里的Navicat for MySQL。在开始菜单搜索框中输入“navicat”...

weixin_32264185的博客 7000

sql语句构造器 SqlBuilder

package nc.vo.pubapp.pattern.pub; import nc.bs.framework.common.RuntimeEnv; import nc.bs.uap.util.sec.esapi.UAPESAPI; import nc.md.model.impl.MDEnum; import nc.md.model.type.IType; import nc.vo.jcom.lang.StringUtil; import nc.vo.pub.lang.UFBoolean; import

u010741112的博客 3566
上一篇: 今天装了Fedora core 5
下一篇: 检验header前是否有输出的判断语句
an9ryfr09
博客等级 码龄23年 199粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值