关于SQL语句的自动生成

SQL语句生成器,支持MSSQL/MYSQL/SQLITE/ACCESS/EXCEL 2.0只支持MSSQL2000,3.0只支持MSSQL2005+,4.0整合到一起同时支持。条件所限,无法对所有系统/数据库版本穷尽测试,请先做好数据备份再测试,数据安全自行负责。因为工程量浩大,一度做到崩溃,差点烂尾,好在经过N次激烈思想斗争后还是坚持了下来。经过7个月的艰苦开发,SQL语句生成器终于和各位见面了,增加数据同步,交互同步,自增去缺功能。增加复制表合表拆表结构同步功能。增加生成having语句功能。增加了对PGSQL的支持。,还有相配套的管理功能。WIN7 64位旗舰版。 阅读详情

作者:PeterXu  来源:Blog.优快云  Blog: http://blog.youkuaiyun.com/peterreg/
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。
本文地址:http://blog.youkuaiyun.com/peterreg/archive/2008/04/02/2243011.aspx  

在我们的日常编程中,数据库的程序基本上都要与SQL语句打交道,SQL语句的编写不可避免的成为一个头疼的工作。且因为SQL语句是STRING类型,因此在编译阶段查不出错,只有到运行时才能发现错误。
  本文的解决方案,通过自动生成SQL语句,在一定程度上降低出错的概率,从而提高编程效率。

    public interface IClause
    {
        void Add(string name, object val);
        void AddWhere(string name, object val);
        void Clear();
        string TableName { set;}
    }

    首先抽象出生成器的标准接口,Add及Addwhere,分别用增加字段及WHERE条件的,

    比如说,在Insert状态下,Add("name","gates")相当于字段name的值为gates

                    在select状态下,Add("name","gates")相当于字段name的别名为gates即select name as gates

                    在update状态下,Add("name","gates")相当于字段name的值为gates即update name = "gates"

    TableName属性即操作的表名

    Clear()是为了一个实例多次应用,清空当前的字段及WHERE条件,表名的设置都通过TABLENAME属性设置

 

接我的上一篇文章《关于SQL语句的自动生成!(一)》,基类实现接口,通过基类的实现,从而有效的实现的代码屏蔽。

private   abstract   class  BaseClause : IClause
        
... {
            
private string m_strTable = string.Empty;
            
private Where m_oWhere = new Where();

            
protected BaseClause()
            
...{
                
this.m_strTable = string.Empty;
                
this.Clear();
            }


            
public virtual void Add(string name, object val)
            
...{
            }


            
public void AddWhere(string name, object val)
            
...{
                
this.m_oWhere.Add(name, val);
            }


            
public void Clear()
            
...{
                
this.m_oWhere.Clear();
                
this.auxClear();
            }


            
public string TableName
            
...{
                
set ...{ this.m_strTable = value; }
                
protected get ...{ return this.m_strTable; }
            }


            
public sealed override string ToString()
            
...{
                
return this.ToStr + this.m_oWhere.ToString();
            }


            
protected abstract string ToStr ...{ get;}
            
protected virtual void auxClear() ...{ }
        }

 

工厂模式的应用,根据传入的枚举参数,实现动态创建接口的实例

public   abstract   class  ClauseFactory
    
... {
        
public enum Flag
        
...{
            Insert,
            Update,
            Select,
            Delete,
        }


        
public static IClause Create(string table, Flag category)
        
...{
            BaseClause ret 
= null;
            
switch (category)
            
...{
                
case Flag.Insert:
                    ret 
= new Insert();
                    
break;

                
case Flag.Update:
                    ret 
= new Update();
                    
break;

                
case Flag.Select:
                    ret 
= new Select();
                    
break;

                
case Flag.Delete:
                    ret 
= new Delete();
                    
break;

                  
default:
                    
break;
            }

            
if (ret != null)
            
...{
                ret.TableName 
= table;
            }

            
return ret;
        }

}

各派生类的具体实现

       private   class  Insert : BaseClause
        
... {
            
private string m_strName;
            
private string m_strValue;

            
public override void Add(string name, object val)
            
...{
                
if (val == null)
                
...{
                    
this.Add(name, "null", false);
                }

                
else
                
...{
                    
this.Add(name, val.ToString(), val is string || val is DateTime);
                }

            }


            
private void Add(string name, string val, bool isref)
            
...{
                
if (isref)
                
...{
                    val 
= "'" + val + "'";
                }

                
if (this.m_strName == string.Empty)
                
...{
                    
this.m_strName = "[" + name + "]";
                    
this.m_strValue = val;
                }

                
else
                
...{
                    
this.m_strName += ",[" + name + "]";
                    
this.m_strValue += "," + val;
                }

            }


            
protected override string ToStr
            
...{
                
get ...{ return "INSERT INTO [" + base.TableName + "] ( " + this.m_strName + " ) values ( " + this.m_strValue + " )"; }
            }


            
protected override void auxClear()
            
...{
                
this.m_strValue = string.Empty;
                
this.m_strName = string.Empty;
            }

        }


        
private   class  Delete : BaseClause
        
... {
            
public Delete()
            
...{
            }


            
protected override string ToStr
            
...{
                
get ...{ return "DELETE FROM [" + base.TableName + "]"; }
            }

        }


        
private   class  Update : BaseClause
        
... {
            
private string m_strUpdate;

            
public override void Add(string name, object val)
            
...{
                
if (val == null)
                
...{
                    
this.Add(name, "null", false);
                }

                
else
                
...{
                    
this.Add(name, val.ToString(), val is string || val is DateTime);
                }

            }


            
private void Add(string name, string val, bool isref)
            
...{
                
if (isref)
                
...{
                    val 
= "'" + val + "'";
                }

                
if (this.m_strUpdate == string.Empty)
                
...{
                    
this.m_strUpdate = "[" + name + "]=" + val;
                }

                
else
                
...{
                    
this.m_strUpdate += ",[" + name + "]=" + val;
                }

            }


            
protected override string ToStr
            
...{
                
get ...{ return "UPDATE [" + base.TableName + "] SET " + this.m_strUpdate; }
            }


            
protected override void auxClear()
            
...{
                
this.m_strUpdate = string.Empty;
            }

        }


        
private   class  Select : BaseClause
        
... {
            
private string m_strSelect;

            
public override void Add(string name, object alis)
            
...{
                
if (alis == null)
                
...{
                    
this.Add(name, name, false);
                }

                
else
                
...{
                    
this.Add(name, alis.ToString(), false);
                }

            }


            
private void Add(string name, string alis, bool isref)
            
...{
                
if (this.m_strSelect == string.Empty)
                
...{
                    
this.m_strSelect = "[" + name + "] as [" + alis + "]";
                }

                
else
                
...{
                    
this.m_strSelect += ",[" + name + "] as [" + alis + "]";
                }

            }


            
protected override string ToStr
            
...{
                
get
                
...{
                    
if (this.m_strSelect == string.Empty)
                    
...{
                        
this.m_strSelect = "*";
                    }

                    
return "SELECT " + this.m_strSelect + " FROM [" + base.TableName + "]";
                }

            }


            
protected override void auxClear()
            
...{
                
this.m_strSelect = string.Empty;
            }

        }


        
private   class  Where
        
... {
            
private string m_strWhere;

            
public Where()
            
...{
                
this.Clear();
            }


            
public void Add(string name, object val)
            
...{
                
if (val == null)
                
...{
                    
this.Add(name, "null", false);
                }

                
else
                
...{
                    
this.Add(name, val.ToString(), val is string || val is DateTime);
                }

            }


            
private void Add(string name, string val, bool isref)
            
...{
                
if (isref)
                
...{
                    val 
= "'" + val + "'";
                }

                
if (this.m_strWhere == string.Empty)
                
...{
                    
this.m_strWhere = "[" + name + "]=" + val;
                }

                
else
                
...{
                    
this.m_strWhere += " and [" + name + "]=" + val;
                }

            }


            
public override string ToString()
            
...{
                
string strRet = string.Empty;
                
if (this.m_strWhere != string.Empty)
                
...{
                    strRet 
= " Where " + this.m_strWhere;
                }

                
return strRet;
            }


            
public void Clear()
            
...{
                
this.m_strWhere = string.Empty;
            }

        }

 

虽然在DotNet Framework3.5 面世以后,可通过LINQ支持SQL的直接查询,但LINQ只支持SQL系列的,SQL2K,SQL2K5,对于ACCESS,ORACLE,MYSQL等不支持。同时平常的一些工具的创作,对于我们的软件水平也大有好处

下面附上DBACCESS的整套代码,供大家分享

public   interface  IClause
    
... {
        
void Add(string name, object val);
        
void AddWhere(string name, object val);
        
void Clear();
        
string TableName ...{ set;}
    }


    
public   abstract   class  ClauseFactory
    
... {
        
public enum Flag
        
...{
            Insert,
            Update,
            Select,
            Delete,
        }


        
Create#region Create

        
public static IClause Create(string table, Flag category)
        
...{
            BaseClause ret 
= null;
            
switch (category)
            
...{
                
case Flag.Insert:
                    ret 
= new Insert();
                    
break;

                
case Flag.Update:
                    ret 
= new Update();
                    
break;

                
case Flag.Select:
                    ret 
= new Select();
                    
break;

                
case Flag.Delete:
                    ret 
= new Delete();
                    
break;

                
default:
                    
break;
            }

            
if (ret != null)
            
...{
                ret.TableName 
= table;
            }

            
return ret;
        }


        
#endregion


        
BaseClause#region BaseClause

        
private abstract class BaseClause : IClause
        
...{
            
private string m_strTable = string.Empty;
            
private Where m_oWhere = new Where();

            
protected BaseClause()
            
...{
                
this.m_strTable = string.Empty;
                
this.Clear();
            }


            
public virtual void Add(string name, object val)
            
...{
            }


            
public void AddWhere(string name, object val)
            
...{
                
this.m_oWhere.Add(name, val);
            }


            
public void Clear()
            
...{
                
this.m_oWhere.Clear();
                
this.auxClear();
            }


            
public string TableName
            
...{
                
set ...{ this.m_strTable = value; }
                
protected get ...{ return this.m_strTable; }
            }


            
public sealed override string ToString()
            
...{
                
return this.ToStr + this.m_oWhere.ToString();
            }


            
protected abstract string ToStr ...{ get;}
            
protected virtual void auxClear() ...{ }
        }


        
#endregion


        
Insert, Update..Join#region Insert, Update..Join

        
private class Insert : BaseClause
        
...{
            
private string m_strName;
            
private string m_strValue;

            
public override void Add(string name, object val)
            
...{
                
if (val == null)
                
...{
                    
this.Add(name, "null", false);
                }

                
else
                
...{
                    
this.Add(name, val.ToString(), val is string || val is DateTime);
                }

            }


            
private void Add(string name, string val, bool isref)
            
...{
                
if (isref)
                
...{
                    val 
= "'" + val + "'";
                }

                
if (this.m_strName == string.Empty)
                
...{
                    
this.m_strName = "[" + name + "]";
                    
this.m_strValue = val;
                }

                
else
                
...{
                    
this.m_strName += ",[" + name + "]";
                    
this.m_strValue += "," + val;
                }

            }


            
protected override string ToStr
            
...{
                
get ...{ return "INSERT INTO [" + base.TableName + "] ( " + this.m_strName + " ) values ( " + this.m_strValue + " )"; }
            }


            
protected override void auxClear()
            
...{
                
this.m_strValue = string.Empty;
                
this.m_strName = string.Empty;
            }

        }


        
private class Delete : BaseClause
        
...{
            
public Delete()
            
...{
            }


            
protected override string ToStr
            
...{
                
get ...{ return "DELETE FROM [" + base.TableName + "]"; }
            }

        }


        
private class Update : BaseClause
        
...{
            
private string m_strUpdate;

            
public override void Add(string name, object val)
            
...{
                
if (val == null)
                
...{
                    
this.Add(name, "null", false);
                }

                
else
                
...{
                    
this.Add(name, val.ToString(), val is string || val is DateTime);
                }

            }


            
private void Add(string name, string val, bool isref)
            
...{
                
if (isref)
                
...{
                    val 
= "'" + val + "'";
                }

                
if (this.m_strUpdate == string.Empty)
                
...{
                    
this.m_strUpdate = "[" + name + "]=" + val;
                }

                
else
                
...{
                    
this.m_strUpdate += ",[" + name + "]=" + val;
                }

            }


            
protected override string ToStr
            
...{
                
get ...{ return "UPDATE [" + base.TableName + "] SET " + this.m_strUpdate; }
            }


            
protected override void auxClear()
            
...{
                
this.m_strUpdate = string.Empty;
            }

        }


        
private class Select : BaseClause
        
...{
            
private string m_strSelect;

            
public override void Add(string name, object alis)
            
...{
                
if (alis == null)
                
...{
                    
this.Add(name, name, false);
                }

                
else
                
...{
                    
this.Add(name, alis.ToString(), false);
                }

            }


            
private void Add(string name, string alis, bool isref)
            
...{
                
if (this.m_strSelect == string.Empty)
                
...{
                    
this.m_strSelect = "[" + name + "] as [" + alis + "]";
                }

                
else
                
...{
                    
this.m_strSelect += ",[" + name + "] as [" + alis + "]";
                }

            }


            
protected override string ToStr
            
...{
                
get
                
...{
                    
if (this.m_strSelect == string.Empty)
                    
...{
                        
this.m_strSelect = "*";
                    }

                    
return "SELECT " + this.m_strSelect + " FROM [" + base.TableName + "]";
                }

            }


            
protected override void auxClear()
            
...{
                
this.m_strSelect = string.Empty;
            }

        }


        
private class Where
        
...{
            
private string m_strWhere;

            
public Where()
            
...{
                
this.Clear();
            }


            
public void Add(string name, object val)
            
...{
                
if (val == null)
                
...{
                    
this.Add(name, "null", false);
                }

                
else
                
...{
                    
this.Add(name, val.ToString(), val is string || val is DateTime);
                }

            }


            
private void Add(string name, string val, bool isref)
            
...{
                
if (isref)
                
...{
                    val 
= "'" + val + "'";
                }

                
if (this.m_strWhere == string.Empty)
                
...{
                    
this.m_strWhere = "[" + name + "]=" + val;
                }

                
else
                
...{
                    
this.m_strWhere += " and [" + name + "]=" + val;
                }

            }


            
public override string ToString()
            
...{
                
string strRet = string.Empty;
                
if (this.m_strWhere != string.Empty)
                
...{
                    strRet 
= " Where " + this.m_strWhere;
                }

                
return strRet;
            }


            
public void Clear()
            
...{
                
this.m_strWhere = string.Empty;
            }

        }


        
#endregion


    }
将数据字典自动生成sql语句 当数据字典特别多,及字段容易出错时,使用一段精简的代码将其自动生成SQL语句便是不可或缺的。 首先,将我们的数据字典写成这样: id 序号 varChar(36) shengqn 申请年 varChar(20) shouqn 授权年 varChar(20) zhuanlqr 专利权人 varChar(500) niandnf 年度年费 varChar(20) da 阅读详情

相关推荐

sql语句自动生成器

sql语句自动生成器,可以自动生成sql语句,在也不用怕记不住sql语句担心了!

SQL语句能自动生成吗?

有许多工具和程序可以帮助您自动生成SQL语句,这些工具可以提高工作效率并减少出错的可能性,快来看看吧

emally的博客 3230

SQL语句自动生成工具

支持几乎所有类型的数据库,包括小型(桌面)数据库:Fox DBF、Microsoft Execl、Text、Borland Paradox、中型数据库:Microsoft Access大型数据库:Microsoft SQL Server、Sybase、Oracle数据库的连接采取ADO方式故而使用本工具,无需安装和卸载 支持几乎所有的SQL语法:排序(Order By)条件(Where)分组(Group By)分组条件(Having)计算字段SQL查询表SQL查询子句丰富的函数表别名字段别名(包括计算字段和非计算字段)联合(Union,对于Oracle 支持Union All,Minus,Intersect)支持将SQL查询语句,替换为插入(Insert into)和更新(Update)语句 附属工具内嵌入Delphi IDE

如何利用ChatGPT自动生成SQL语句

作为一名开发者,你可能已经使用过自然语言处理(NLP)及其可能彻底改变我们与技术互动的方式。由OpenAI提供支持的文本到SQL工具是一种强大的方法,可以从自然语言文本中生成SQL语句。在本博客文章中,我们将探讨七个创造性和不寻常的示例,展示如何使用ChatGPT生成SQL语句。1、修改现有查询语句下面是一个示例,展示如何向Text-to-SQL提供一个现有的复杂SQL查询,并要求它进行修改:从现...

前端达人 1万+

如何打开本地网络的防火墙端口(Windows版)解决ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。问题

ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。 最开始在遇到这个报错的时候十分不解,后来经过思考,有可能是服务器端口占用,或者并没有放行。因此搜查问题的关键是要先去排查问题。 在搜索栏输入控制面板 选择防火墙 选择开关 保证这些选项是开着的 选择高级设置 新建规则 创建协议端口 选择端口 允许连接 点击下一步 创建规则后点击下一步(后命名) 选择任意端口ALL即可 问题排查完毕!socket创建网络通信时,有读者

weixin_46900108的博客 9万+

机器学习参数寻优:方法、实例与分析

机器学习模型的性能很大程度上依赖于其参数的选择。参数寻优(Hyperparameter Tuning)是提升模型表现的关键步骤之一。本文将详细介绍主流的参数寻优方法,包括网格搜索(Grid Search)、随机搜索(Random Search)、贝叶斯优化(Bayesian Optimization)、和超参数优化库(如Optuna和Hyperopt)等,并探讨它们的优缺点及适用场景。

甜盐的博客 2843

python自动生成SQL语句自动化

除了使用现有的库和工具外,我们还可以根据项目需求自定义SQL语句生成器,以满足特定的数据操作需求。通过自定义生成器,我们可以灵活地控制生成的SQL语句结构和内容,以适应不同的场景和要求。

一键难忘的博客 7565

STM32_USB复合设备开发实战:基于CubeMX插件简化HID与CDC集成

本文详细介绍了如何使用STM32CubeMX插件简化USB复合设备开发,特别是HID与CDC的集成。通过自动处理多设备描述符融合和端点资源分配,该插件显著降低了开发复杂度,帮助工程师快速实现键盘、鼠标和虚拟串口等复合功能,提升STM32 USB开发效率。

palm99的专栏 750

Hibernate 如何自动生成 SQL 语句

本节课和大家一起聊聊 Hibernate 是如何自动生成 SQL 语句的。反射在框架中的重要性;元数据描述对 Hibernate 的重要性。

很酷的站长的博客 1706

ESP32连接OneNet云平台实现多设备联动控制完整示例

通过esp32连接onenet云平台,实现远程设备间的智能联动控制,利用MQTT协议完成数据通信,esp32连接onenet云平台后可高效稳定地上传与下发指令,提升物联网系统响应速度与自动化水平。

weixin_42360733的博客 548

跟着团子学SAP CO:基于成本的完工百分比结算:Cost-based POC(以项目为例)

本文以英国及北美会计准则下的基于成本的POC的销售型项目结算对PS模块中的完工百分比进行介绍

Lucas1211的博客 2万+

用Navicat自动生成SQL语句

    用MySql时,最头痛的莫过于写sql语句,用Navicat这个工具可以自动生成。使用如下: 1、新建表语句,使用“SQL预览”功能     在Navicat中新建一张表,填上自己所需要的信息,如下图所示:     在点击保存之前,点击“SQL预览”,即可看到相应的建表语句: 2、插入,更新操作,看Navicat的状态栏     在Navicat中执行想要的操作,在下...

one_happy_coder 7万+

Anolis龙蜥内核升级实战:从查询到配置的全流程指南

本文提供了一份详尽的Anolis龙蜥操作系统内核升级实战指南。文章从升级的必要性出发,逐步讲解了升级前的系统检查与备份、从官方源获取正确内核包、分步安装与验证、配置默认启动项以及升级后的功能验证与安全回滚方案。旨在帮助运维人员安全、平稳地完成内核升级,以获取性能提升、新硬件支持及重要的安全漏洞修复。

qq_27496129的博客 572

java自动生成sql语句

java自动生成sql语句 艳学网强势来袭http://47.98.237.162/index,首次发布艳辉工具,第一个工具我们发布sql语句自动生成。 以前首次接触sql是在大学期间,刚开始是手写sql语句的,为了方便去下载了个sql图形化,但是图形化也是比较拙,然后下载个powerdesigner,的确强大,自动生成sql语句,也仿着写个简单的。 思路就是字符串拼接成sql语句,再放...

1万+

【保姆级教程】基于UNet++&MobileNetv2的语义分割模型从训练到RK3588部署:让边缘AI落地效率提升300%

通过SMP库一键构建encoder_name="mobilenet_v2", # 选择MobileNetv2作为骨干encoder_weights="imagenet", # 加载预训练权重加速收敛in_channels=3, # 输入图像通道数(RGB)classes=29, # Cityscapes数据集类别数activation=None # 输出无激活,便于后续损失计算本教程从“模型设计-训练-转换-边缘部署”全链路拆解了。

FJN110的博客 212

R语言使用mlr包创建回归任务、指定回归学习函数为KNN回归模型、网格搜索、交叉验证调节KNN模型的超参数K获取模型最佳的K值、可视化KNN模型的不同K值和MSE指标之间关系图

R语言使用mlr包创建回归任务、指定回归学习函数为KNN回归模型、网格搜索、交叉验证调节KNN模型的超参数K获取模型最佳的K值、可视化KNN模型的不同K值和MSE指标之间关系图

statistics+insight+vista+power 280

关于SQL语句的自动生成!(四)

作者:PeterXu  来源:Blog.优快云  Blog: http://blog.youkuaiyun.com/peterreg/版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。本文地址:http://blog.youkuaiyun.com/peterreg/archive/2008/04/02/2243130.aspx接我的上一篇文章《关于SQL语

PeterXu的专栏 928

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

关于SQL语句的自动生成!(二)

作者:PeterXu  来源:Blog.优快云  Blog: http://blog.youkuaiyun.com/peterreg/版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。本文地址:http://blog.youkuaiyun.com/peterreg/archive/2008/04/02/2243127.aspx接我的上一篇文章《关于SQL语

PeterXu的专栏 1090

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

使用Powerdesigner自动生成sql语句

Powerdesigner:可用于数据库模型设计 第一步:进行数据库表的设计 使用Powerdesigner进行数据库模型设计的第一步是设计好数据库表相关信息以及表和表之间的对应关系,以如下员工和员工类型表为例 员工类型表(type): (主键)员工类型编号(t_id) 员工类型名称(t_name) 员工表(employee): (主键)员工编号(e_id) 员工姓名(e_name) (外键)员工类型(t_id) 第二步:使用Powerdesigner进行数据库模型设计 1、打开Powerdesigner,

qq_42983502的博客 9477

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

自动生成Sql语句

根据JavaBean和表名,以及一些设置查询字段,插入字段,自动生成Sql语句。//CRUD操作的父类 public abstract class SqlStatement { protected Class<?> clazz = null; protected String tableName = null; private String SQL_TEMPLET = "{0

qq_33061377的博客 1万+

Sql语句自动生成器

Sql语句自动生成器 【下载地址】Sql语句自动生成器 这是一款高效便捷的数据库语句生成工具,专为简化数据库操作而设计。通过直观的界面和简单的点击操作,用户无需复杂编程即可快速生成所需的SQL语句。无论是日常查询还是复杂的数据管理任务,它都能轻松应对,显著提升工作效率。其出色的性能和易用性在同类工具中脱颖而出,成为数据库...

gitblog_06716的博客 312

《关于SQL语句的自动生成!》一文的代码调用示例

首先感谢PeterXu奉献的《关于SQL语句的自动生成!》一文,读后令我收获颇多;原文地址:http://blog.youkuaiyun.com/peterreg/archive/2008/04/02/2243011.aspx 由于在文中没有找到PeterXu大大编写的调用示例,为了能让大家更好的领会其编程思路,我在这里奉送上相关的调用方法;假定有一个表:Users,包含3个字段:UserName

cnpoor的专栏 486

SQL Server自动生成INSERT语句

这是建立一个存储过程,通过执行这个存储过程,将指定的数据表中的数据导成Insert语句形式 --这是一个可以将表中的数据自动生成INSERT语句的存储过程--有个BUG,如果是自动增长列,数据也会被插入--在查询分析器中执行完成后,可以从执行结果中自制出SQL脚本。IF OBJECT_ID(spGenInsertSQL,P) IS NOT NULL DROP PRO

baikaishui_0825的专栏 2156

根据Excel表格自动生成SQL语句

使用excel 表格中的函数来自动生成相关SQL 语句 准备数据excel表 写函数语句="update dms_channel_info set NET_DESCRIPTION1='192.168.112.2' where REMOTE_NET_PORTNO>='"&D1&"' and REMOTE_NET_PORTNO<='"&D101&"'...

HoWaterSuper的博客 2771
上一篇: c#下各种数据库操作的封装!(支持ACCESS,SQLSERVER,DB2,ORACLE,MYSQL)
下一篇: [C#]ADO访问多数据库的C#库
cuoban
博客等级 码龄24年 239粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值