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中的,如果直接 传入字符串是不行的。

要转换编码:

cpp 复制代码
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;
}

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

相关推荐
Web3&Basketball37 分钟前
实测Gemini4Argon:ERQA 87%登顶长程任务榜
数据库·python·大模型·多模态·gemini·长上下文·推理优化
xiaogai_gai1 小时前
金蝶收料通知单查询策略实战教程:从源系统拉取到中间层落地的完整路径
java·前端·数据库
注塑机数据采集联网1 小时前
注塑机数据采集网关对接MES系统数字化技术方案
大数据·网络·数据库·物联网·数据挖掘·数据分析
像风一样自由20201 小时前
56.实战PostgreSQL-pgvector-FastAPI构建轻量级RAG
数据库·人工智能·postgresql·大模型·fastapi·智能体
User_芊芊君子2 小时前
KFS异构同步_260条链路DDL自动转换解析
数据库·ai·大模型
xiancai_xianyu2 小时前
Text2SQL落地生产库前,SQL要过哪三道闸
前端·数据库·sql·sql注入·text2sql·ai agent开发·企业级ai框架
Zucker n2 小时前
一款适合研究生科研工作安排的日历
linux·数据库·python
Sharewinfo_BJ3 小时前
Power BI沿袭视图详解:从看懂链路到做影响分析
数据库·数据分析·智信bi·上北智信
l1t3 小时前
DeepSeek总结的 DuckDB 2.0 中更简洁的变量语法
数据库·sql
sunshine8854 小时前
集成电路(IC)设计与封测行业10大常用ERP系统分析
大数据·数据库·人工智能