欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > Powerbuilder12.5调用sqlite3接口注意事项

Powerbuilder12.5调用sqlite3接口注意事项

2025/2/12 14:18:18 来源:https://blog.csdn.net/asmfox/article/details/141205316  浏览:    关键词:Powerbuilder12.5调用sqlite3接口注意事项

前言

在学习pb的时候,要调用sqlite3数据文件 ,可以使用ODBC驱动,也可以直接使用sqlite的C函数接口。由于SQLITE3的接口函数是C语言的调用方式,在pb中调用 ,需要改成stdcall调用方式。

这个大家都会了,这里主要说下,字符串相关的函数调用时的编码转换问题。

 

1.SQLITE3_OPEN(const char *filename)

这个filename参数,传入的数据应该是unicode类型,默认是UTF8格式。

2.SQLITE3_OPEN_V2(const char *filename)

这个接口传入的filename是UTF-16格式,pb12.5的默认字符串编码格式是UTF-16LE。

3.SQLITE3_EXEC(const char *sql)

这个接口函数中的sql是一个UTF8格式的数据,在pb12.5中的,如果直接 传入字符串是不行的。

要转换编码:

char* UnicodeToUtf8(const wchar_t* unicode)
{int len;len = WideCharToMultiByte(CP_UTF8, 0, unicode, -1, NULL, 0, NULL, NULL);char *szUtf8 = (char*)malloc(len + 1);memset(szUtf8, 0, len + 1);WideCharToMultiByte(CP_UTF8, 0, unicode, -1, szUtf8, len, NULL, NULL);return szUtf8;
}

好了,在这里记录一下心得。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com