1

我需要做的是执行一个 SQL 查询:

wstring query = ( L "INSERT INTO database...........;

然后我执行这个:

CHECK( SQLExecDirectA( hStmt, query, SQL_NTS ), "execute query" );

但它不能编译,因为变量查询必须是 SQLCHAR 否则函数 SQLExecDirectA 将不起作用。

有人可以帮忙吗?

谢谢!

4

1 回答 1

2

您尝试调用的函数称为 SQLExecDirect。(几乎)winapi 中的所有功能都存在于两个版本中——一个 ascii 版本和一个宽版本。根据您的项目设置(多字节字符集/Unicode),SQLExecDirect 是对 SQLExecDirectA 或 SQLExecDirectW 的定义(SQLExecDirectA 是 ascci 版本,SQLExecDirectW 是宽版本)。

SQLExecDirectA 意味着您使用宽字符串作为参数显式调用 ascii 版本。如果要使用宽字符串,请尝试调用 SQLExecDirectW 或 SQLExecDirect。

于 2012-04-05T05:20:24.530 回答