如何使用模板生成 sqlite3 sql 创建语句?
template<typename T,typename... Args>
std::string createTable(T tableName,Args&&... args)
{
std::string sql = "CREATE TABLE IF NOT EXISTS";
sql += " ";
sql += tableName;
sql += "(";
for(const auto &arg:{args...}){
sql += arg;
sql += ",";
}
if(!sql.empty()){
char& back = sql.back();
back = ')';
}
sql += ";";
return sql;
}
QString sql = QString::fromStdString(createTable(std::string("blog"),
"id TEXT PRIMARY KEY NOT NULL",
"title TEXT NOT NULL",
"content TEXT NOT NULL",
"push_time TEXT NOT NULL",
"tag TEXT"));
qDebug() << sql;
SELECT,INSERT,UPDATE,DELETE,ALTER TABLE.
Sqlite3 data type SQL type description Recommended input(C++ or Qt data type)
NULL NULL value NULL
INTEGER Signed integer,stored in 8,16,24,32,48, typedef qint8/16/32/64
or 64-bits depending on the magnitude of the value
REAL 64-bit floating point value By default mapping to QString
TEXT Character string(UTF-8,UTF-16BE or UTF-16-LE) Mapped to QString
CLOB Charater large string object Mapped to QString
BLOB The value is a BLOB of data,stored exactly as it was input Mapped to QByteArray
如何使用模板生成 sqlite3 sql 创建语句?的更多相关文章
- sqlite3 SQL常用语句
1. select SELECT LastName,FirstName FROM Persons; SELECT * FROM Persons; 2. where SELECT * FROM Pers ...
- [NHibernate]查看NHibernate生成的SQL语句
最近接触到一个用Spring.Net结合NHIbernate的项目,第一次使用,有很多配置,数据操作一旦出问题,很难找到原因,那么如何查看NHibernate发送给数据库的SQL语句呢? 当然我们可以 ...
- 快速将一个表的数据生成SQL插入语句
将一个表中的数据生成SQL插入语句,方便系统快速初始化,在数据库中执行创建以下过程就可以了. ) Drop Procedure GenerateData go CREATE PROCEDURE Gen ...
- .net core 利用日志查看ef生成的SQL语句
EF Core 没有直接提供像 EF6 那样方便的在日志中记录最终生成的 SQL 的功能,可以通过官方提供的日志记录(Microsoft.Extensions.Logging)实现. 一. 使用 Mi ...
- 深入理解 LINQ to SQL 生成的 SQL 语句
Ø 简介 在 C# 中与数据交互最常用的语句就是 LINQ 了,而 LINQ to SQL 是最直接与数据库打交道的语句,它可以根据 LINQ 语法生成对应的 SQL 语句,在数据库中去执行.本文主 ...
- 第16课-数据库开发及ado.net-数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍
第16课-数据库开发及ado.net 数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍 SQL语句入门(脚本.命令) SQL全名是结构化查询语言(Structur ...
- 将EntityFrameworkCore生成的SQL语句输出到控制台,使用hangfire
将EntityFrameworkCore生成的SQL语句输出到控制台 参考文档如下 EF Core 日志记录要求使用一个或多个日志记录提供程序配置的 ILoggerFactory. 日志记录-EF C ...
- .NET Core实用技巧(一)如何将EF Core生成的SQL语句显示在控制台中
目录 .NET Core实用技巧(一)如何将EF Core生成的SQL语句显示在控制台中 前言 笔者最近在开发和维护一个.NET Core项目,其中使用几个非常有意思的.NET Core相关的扩展,在 ...
- 使用EntityFramework6.1的DbCommandInterceptor拦截生成的SQL语句
开始 EF6.1也出来不少日子了,6.1相比6.0有个很大的特点就是新增了System.Data.Entity.Infrastructure.Interception 命名空间,此命名空间下的对象可以 ...
随机推荐
- VC 使用json cpp 静态库 问题解决
release使用 json 静态库 提示 fatal error C1083: 无法打开编译器生成的文件:“../../build/vs71/release/lib_json\json_writer ...
- gitlab 把或名改成IP
[root@GitLab assets]# cat /etc/gitlab/gitlab.rb # Change the external_url to the address your users ...
- 680. Valid Palindrome II【easy】
680. Valid Palindrome II[easy] Given a non-empty string s, you may delete at most one character. Jud ...
- Python内置函数之bytes()
该函数是一个类对象: class bytes([source[,encoding[,errors]]]) 返回值为字节对象,当第一个参数为字符串时,必须提供第二个参数,第二个参数为编码类型的字符串. ...
- sendmail发件人邮箱设定命令
sendmail发件人邮箱设定命令 以前就碰到过设置发件人后缀的方式,这次迁移服务器居然忘记,从头开始记录下 1:第一种方法,修改/etc/hosts,据说sendmail使用hosts里面的本地 ...
- 最新 AFNetworking 3.0 简单实用封装
AFNetworking 3.0 的到来使我们开发者又方便了许多,话不多说,直接上代码. 1.首先 引入框架AFNetworking框架 GitHub下载地址:https://github.com/A ...
- Mac显示和隐藏隐藏文件
显示:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏:defaults write com.apple.finder A ...
- sscanf()的用法
头文件 #include 定义函数 int sscanf (const char *str,const char * format,........); 函数说明 sscanf ...
- Spring 3 MVC and JSR303 @Valid example
http://www.mkyong.com/spring-mvc/spring-3-mvc-and-jsr303-valid-example/ ———————————————————————————— ...
- @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)什么意思??
从hibernate2.1开始ehcache已经作为hibernate的默认缓存方案(二级缓存方案 sessionfactory级别), 在项目中有针对性的使用缓存将对性能的提升右很大的帮助. 要使用 ...