vc中ExecuteSQL语句不支持中文的问题

ljfinder 2008-02-27 06:21:04
MySQL数据库,vc通过mysql-connector-odbc-3.51.23-win32 进行连接,
CDatabase m_db_ev;
m_db_ev.ExecuteSQL("insert into ope_list(F_time,string) values(1204106136,'你好')");
执行这条语句会报错,如果把上面的语句换成
m_db_ev.ExecuteSQL("insert into ope_list(F_time,string) values(1204106136,'你好')");
就能够成功执行,请问各位大虾,怎么解决该问题?
...全文
393 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljfinder 2008-02-28
  • 打赏
  • 举报
回复
在注册表中创建数据源,源程序如下:
void RegisterDBSource(CString strDSName, CString strDBPath)
{
HKEY hKey;
DWORD nLabel;

CString strBaseKey = _T("SOFTWARE\\ODBC\\ODBC.INI");
CString strMid = strBaseKey + _T("\\ODBC Data Sources") ;

if(strDSName.IsEmpty()) return;
if(strDBPath.IsEmpty()) return;

CString strDataSource = strBaseKey + _T("\\") + strDSName;

CString strMdb = _T("MySQL ODBC 5.1 Driver");
CString strDBDriver = _T("C:\\Program Files\\MySQL\\Connector ODBC 5.1\\myodbc5.dll");
CString strDescription = _T("MySQL");
CString strUID = _T("root");
CString strServer = _T("localhost");
CString strPWD = _T("");



RegCreateKeyEx(HKEY_CURRENT_USER,
strMid,
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&hKey,
&nLabel );//获取数据源键值句柄

RegSetValueEx(hKey,
strDSName,
0,
REG_SZ,
(const unsigned char *)((LPCTSTR)strMdb),
strlen((LPCTSTR)strMdb)+1);///设置数据源类型

RegCreateKeyEx(HKEY_CURRENT_USER,
strDataSource,
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&hKey,
&nLabel );//创建数据源子键

RegSetValueEx(hKey,
_T("DATABASE"),
0,
REG_SZ,
(const unsigned char *)((LPCTSTR)strDBPath),
strlen((LPCTSTR)strDBPath)+1);//数据库的全路径

RegSetValueEx(hKey,
_T("Driver"),
0,
REG_SZ,
(const unsigned char *)((LPCTSTR)strDBDriver),
strlen((LPCTSTR)strDBDriver)+1);//ODBC驱动的全路径

RegSetValueEx(hKey,
_T("Description"),
0,
REG_SZ,
(const unsigned char *)((LPCTSTR)strDescription),
strlen((LPCTSTR)strDescription)+1);//数据库的描述

RegSetValueEx(hKey,
_T("UID"),
0,
REG_SZ,
(const unsigned char *)((LPCTSTR)strUID),
strlen((LPCTSTR)strUID)+1);//数据库的用户名

RegSetValueEx(hKey,
_T("Server"),
0,
REG_SZ,
(const unsigned char *)((LPCTSTR)strServer),
strlen((LPCTSTR)strServer)+1);//可选项

RegSetValueEx(hKey,
_T("PWD"),
0,
REG_SZ,
(const unsigned char *)((LPCTSTR)strPWD),
strlen((LPCTSTR)strPWD)+1);//可选项
}
该程序非原创,帖子链接http://dev.csdn.net/develop/article/25/25607.shtm
希望对大家有帮助
liuyann 2008-02-28
  • 打赏
  • 举报
回复

如何解决的,分享一下
== 思想重于技巧 ==
liuyann 2008-02-28
  • 打赏
  • 举报
回复


== 思想重于技巧 ==
ljfinder 2008-02-28
  • 打赏
  • 举报
回复
问题已经解决,谢谢
ljfinder 2008-02-28
  • 打赏
  • 举报
回复
有没有高手帮忙解决一下,谢谢了!!!
ljfinder 2008-02-28
  • 打赏
  • 举报
回复
问题找到了,只要把驱动换成mysql-connector-odbc-5.1.2-win32.msi就行了,但是这样的话同时又带来一个新的问题,就是在3.51版本中用SQLConfigDataSource可以动态创建数据源,但是用5.1.2版本后,就不能动态创建数据源了,请问各位达人,又没有什么好的解决方法?
自动化环境搭建 1、Python(推荐使用ActivePython,这个版本PATH已经配好了,也安了一些像pip这样的包) 2、WxPython(安装,保持勾选状态,不要把勾去掉!!!) 3、安装rf,以管理员身份运行cmd, pip install robotframework 4、安装RIDE,以管理员身份运行cmd, pip install robotframework-ride 5、安装Selenium2Library,以管理员身份运行cmd,pip install robotframework-selenium2library 6、安装python32位拓展,以管理员身份运行cmd,pip install pywin32 7、安装DatabaseLibrary , 以管理员身份运行cmd, pip install robotframework-databaselibrary 安装VCForPython27 安装vcredist_x64 安装驱动MySQL-python-1.2.3.win-amd64-py2.7(根据电脑自行选择32,64) 8、pip install pyodbc 需要更新setuptools,运行pip install --upgrade setuptools pip(第一遍报错,在执行一遍命令即可) 然后安装连接pyodbc的驱动mysql-connector-odbc-5.3.9-winx64.msi。(安装到这一步就完成了。下面是测试步骤,所有安装完成后再测试也可以)安装完成后打开   打开数据源添加驱动(添加按钮)   填写完整后点击test返回successful表示成功   选择库 打开robot新建测试用例输入如下内容   Connect To Database Using Custom Params 连接数据库的关键字 pyodbc 连接数据库的工具 database='test', 数据库的名字 user='root', 连接数据库的用户名 password='', 密 码 host='127.0.0.1', 数据库的IP port=3306, 数据库的端口号 Driver='{MySQL ODBC 5.3 Unicode Driver}' 数据库的驱动 query 查询语句 Disconnect From Database 断开连接数据库   Execute Sql String     执行sql语句 9、安装AutoItLibrary库(模拟键盘鼠标操作) 安装(选择x64安装) (路径改一下,因为program files(x86)路径win系统似乎会禁止读写,改成c:\AutoIt3即可) 安装 解压后,使用cmd(管理员启动),cd到包目录执行python setup.py install命令安装 9、pip freeze检查安装包 启动ride: 命令进入ride: 1:cmd; 2:cd c:\; 3:cd Python27; 4:cd Scripts; 5:输入命令:python ride.py。
robotFramework自动化安装集合包自动化环境搭建 1、Python(推荐使用ActivePython,这个版本PATH已经配好了,也安了一些像pip这样的包) 2、WxPython(安装,保持勾选状态,不要把勾去掉!!!) 3、安装rf,以管理员身份运行cmd, pip install robotframework 4、安装RIDE,以管理员身份运行cmd, pip install robotframework-ride 5、安装Selenium2Library,以管理员身份运行cmd,pip install robotframework-selenium2library 6、安装python32位拓展,以管理员身份运行cmd,pip install pywin32 7、安装Databas eLibrary , 以管理员身份运行cmd, pip install robotframework-databaselibrary 安装VCForPython27 安装vcredist_x64 安装驱动MySQL-python-1.2.3.win-amd64-py2.7(根据电脑自行选择32,64) 8、pip install pyodbc 需要更新setuptools,运行pip install --upgrade setuptools pip(第一遍报错,在执行一遍命令即可) 然后安装连接pyodbc的驱动mysql-connector-odbc-5.3.9-winx64.msi。(安装到这一步就完成了。下面是测试步骤,所有安装完成后再测试也可以)安装完成后打开 打开数据源添加驱动(添加按钮) 填写完整后点击test返回successful表示成功 选择库 打开robot新建测试用例输入如下内容 Connect To Database Using Custom Params 连接数据库的关键字 pyodbc 连接数据库的工具 database='test', 数据库的名字 user='root', 连接数据库的用户名 password='', 密 码 host='127.0.0.1', 数据库的IP port=3306, 数据库的端口号 Driver='{MySQL ODBC 5.3 Unicode Driver}' 数据库的驱动 query 查询语句 Disconnect From Database 断开连接数据库 Execute Sql String 执行sql语句 9、安装AutoItLibrary库(模拟键盘鼠标操作) 安装(选择x64安装) (路径改一下,因为program files(x86)路径win系统似乎会禁止读写,改成c:\AutoIt3即可) 安装 解压后,使用cmd(管理员启动),cd到包目录执行python setup.py install命令安装 9、pip freeze检查安装包 启动ride: 命令进入ride: 1:cmd; 2:cd c:\; 3:cd Python27; 4:cd Scripts; 5:输入命令:python ride.py。

56,681

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧