C++中对数据库的操作感觉太复杂了,不如C#好使,但最近出于某些原因还是学习了一下C++下操作数据库的方法。

如果要想用C++实现对数据库的操作其实很简单,但是如果你需要动态的操作数据库(比如获得用户输入的数据后存入数据库)那么就麻烦一下,因为SQLExecDirect()这个函数接收的SQL语句需要是SQLWCHAR *格式的,并不是char *格式!所以要将普通的char *转换成SQLWCHAR *

这里说明一下,SQLWCHAR 和 wchar_t是一个东西!如果你用的是Visual Studio那你可以把鼠标放到SQLWCHAR上,然后按F12跟踪过去会发现这句话:typedef
wchar_t SQLWCHAR;所以说SQLWCHAR 和 wchar_t是一个东西只不过名字不一样...

话不多说,上示例代码:

SQLHANDLE sqlconnectionhandle = NULL;
SQLHANDLE sqlstatementhandle = NULL;
char sqlString[400];
wchar_t wsql[500];
//先将SQL语句存入char数组中,然后转为wchar_t
sprintf(sqlString, "INSERT INTO imgbasicinfo (hashval,tag,path) VALUES ('%s','%s','%s')", hash, tag, path);
MultiByteToWideChar(CP_UTF8, 0, sqlString, strlen(sqlString), wsql, sizeof wsql / sizeof *wsql);
wsql[strlen(sqlString)] = '\0';
//执行SQL语句
SQLExecDirect(sqlstatementhandle, wsql, SQL_NTS);

C++ 数据库 char 转 wchar_t SQLWCHAR的更多相关文章

  1. char 转wchar_t 及wchar_t转char

    利用WideCharToMultiByte函数来转换,该函数映射一个unicode字符串到一个多字节字符串.通常适合于window平台上使用. #include <tchar.h> #in ...

  2. 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换 [转]

    本篇文章是对c++中的char*与wchar_t*与string以及wstring之间的相互转换进行了详细的分析介绍,需要的朋友参考下. #ifndef USE_H_ #define USE_H_ # ...

  3. 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换

    本篇文章是对c++中的char*与wchar_t*与string以及wstring之间的相互转换进行了详细的分析介绍,需要的朋友参考下-复制代码 代码如下:    #ifndef USE_H_     ...

  4. char* 和 wchar_t* 如何互相转换

    char* 和 wchar_t* 如何互相转换 C函数可以用 wcstombs - 将宽字符转换成多字符 WCHAR ->  CHAR      mbstowcs - 把多字符把转换成宽字符 C ...

  5. 自己写实现char TO wchar_t 的转换

    wchar_t CharToWChart(char nChar){    wchar_t nR;    nR=nChar+32*256;    return nR;}//--------------- ...

  6. char,wchar_t 长度

    (测试环境:VC++6.0) char类型 wchar_t类型 类型大小(32位系统) 8位 16位 常量字符表示法 'A' L'A' 或 'A' 常量字符串表示法 'hello' L'hello' ...

  7. linux 下 Linux 下char转换为wchar_t 设置本地为utf-8编码 以及wchar 的输入输出

    LInux下使用mbstowcs函数可以将char转化为wchar_t函数含义:convert a multibyte string to a wide char string说明:       Th ...

  8. C++中char*与wchar_t*之间的转换

    http://blog.163.com/tianshi_17th/blog/static/4856418920085209414977/ 关于C++中的char*与wchar_t*这两种类型的相互转换 ...

  9. char与wchar_t数据类型

    转自:http://blog.itpub.net/27634692/viewspace-752200/ 有的人爱用strcpy等标准ANSI函数,有的人爱用_tXXXX函数,有必要把来龙去脉搞清楚. ...

随机推荐

  1. 【研究】Struts2-052漏洞

    漏洞描述: CVE-2017-9805 2017年9月5日,Apache Struts官方发布最新的安全公告称,Apache Struts 2.5.x的REST插件存在远程代码执行高危漏洞,漏洞编号为 ...

  2. 剑指offer——面试题8:二叉树的下一个节点

    // 面试题8:二叉树的下一个结点 // 题目:给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点? // 树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针. ...

  3. BENZ Prognosis System C5 SD Be connected & Panasonic Xentry-Tab

    Brand-new released!! Recently, we all autonumen website gives a brand-new Superstar prognosis bundle ...

  4. 正则提取字符串IP地址,返回IP列表

    public class Main { public static void main(String args[]) { String str = "10.11.90.1 asedfa 1. ...

  5. Python学习 day07

    一.关于解决问题的思路 1.删除列表中索引为单数的元素. 别人的思路: 利用切片 li = [11, 22, 33, 44, 55] li = li[::2] print(li) 思考:虽然学了pyt ...

  6. linux运维配置讲解--sshd-config

    文件配置: 1, /etc/ssh/sshd_config ssh配置文件 2, /etc/shadow 密码文件 3, /etc/sudoers 授权用户管理文件 4, /etc/issue 系统信 ...

  7. 使用Redis 配置替换fastjson 反序列化报错 com.alibaba.fastjson.JSONException: autoType is not support

    新建的GenericFastJson2JsonRedisSerializer里面添加白名 添加: static {        ParserConfig.getGlobalInstance().ad ...

  8. (转)超全整理!Linux性能分析工具汇总合集

    超全整理!Linux性能分析工具汇总合集 原文:http://rdc.hundsun.com/portal/article/731.html 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望, ...

  9. unity发布安卓lua路径不存在问题

    项目用的是xlua 采用自定义加载方式 使用File去读取路径下的文件,lua文件本来放在了StreamingAssets路径下 PC运行无问题,发布安卓后,居然提示路径不存在. 查了下资料后发现,F ...

  10. javascript模块化是什么及其优缺点介绍

    模块化是一种将系统分离成独立功能部分的方法,可将系统分割成独立的功能部分,严格定义模块接口.模块间具有透明性 如今backbone.emberjs.spinejs.batmanjs 等MVC框架侵袭而 ...