mfc中mysql找不到_MFC MySQL 遇到的问题

1、sprintf_s函数第二个参数是string类型c_str()函数的应用:

2、wstring是宽char,Unicode编码,一般情况下一个字符占两个字节大小

string是窄char,AscII编码,一个字符占一个字节大小

3、CString 转换为wstring 类型

wstring wstr=CString.GetString();

#include

<

string

>

std::

string

ws2s(

const

std::wstring

&

ws)

{

std::

string

curLocale

=

setlocale(LC_ALL, NULL);

//

curLocale = "C";

setlocale(LC_ALL,

"

chs

"

);

const

wchar_t

*

_Source

=

ws.c_str();

size_t _Dsize

=

2

*

ws.size()

+

1

;

char

*

_Dest

=

new

char

[_Dsize];

memset(_Dest,

0

,_Dsize);

wcstombs(_Dest,_Source,_Dsize);

std::

string

result

=

_Dest;

delete []_Dest;

setlocale(LC_ALL, curLocale.c_str());

return

result;

}

std::wstring s2ws(

const

std::

string

&

s)

{

setlocale(LC_ALL,

"

chs

"

);

const

char

*

_Source

=

s.c_str();

size_t _Dsize

=

s.size()

+

1

;

wchar_t

*

_Dest

=

new

wchar_t[_Dsize];

wmemset(_Dest,

0

, _Dsize);

mbstowcs(_Dest,_Source,_Dsize);

std::wstring result

=

_Dest;

delete []_Dest;

setlocale(LC_ALL,

"

C

"

);

return

result;

}

5、mysql_real_query函数错误

如果前一次调用了 mysql_use_result (使用结果集的都算),而返回时没有调用 mysql_free_result( ); 那么在下一次调用mysql_real_query的时候就会出错,总而言之,使用了 MYSQL_RES *就得释放,否则就会出错,错误代码此时是1(其他错误返回值也有为1的时候,另当别论)

6、GetClientRect

该函数获取窗口客户区的坐标。客户区坐标指定客户区的左上角和右下角。由于客户区坐标是相对窗口客户区的左上角而言的,因此左上角坐标为(0,0),注意一下:窗口的客户区为窗口中除标题栏、菜单栏之外的地方。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值