const char转换为SQLCHAR错误

const char to SQLCHAR error

本文关键字:SQLCHAR 错误 转换 char const      更新时间:2023-10-16

SELECT语句是一个常量字符和"查询"必须是一个SQLCHAR*,我试过重新解释cast,但这似乎不起作用。代码运行,即使有这个错误,但我想摆脱错误。线:

SQLCHAR* query = "SELECT tblIP.[IPAddress], tblIP.[IPStatus], tblIP.[IPType] FROM tblIP ORDER BY tblIP.[IPAddress] ASC;";

错误:

智能感知:"const char *"类型的值不能用于初始化"SQLCHAR *"类型的实体

SQLCHAR* query = (SQLCHAR *)"SELECT tblIP.[IPAddress], tblIP.[IPStatus], tblIP.[IPType] FROM     tblIP ORDER BY tblIP.[IPAddress] ASC;";

嗯,SQLCHAR可以有很多不同的含义。你至少要提到你使用的是什么API…也许这只是一个宽碳问题?试试这个:

SQLCHAR* query = L"SELECT tblIP.[IPAddress], tblIP.[IPStatus], tblIP.[IPType] FROM tblIP ORDER BY tblIP.[IPAddress] ASC;";

试试这个:

char select_statement[] = "SELECT tblIP.[IPAddress], tblIP.[IPStatus], tblIP.[IPType] FROM tblIP ORDER BY tblIP.[IPAddress] ASC;";

注意变量名后面的[]。

或:

std::string select_statement = "SELECT tblIP.[IPAddress], tblIP.[IPStatus], tblIP.[IPType] FROM tblIP ORDER BY tblIP.[IPAddress] ASC;";
// And pass select_statement.c_str() to your function.

问题是需要char *的函数需要一个变量,一个数组,一个可变的文本区域。字符串字面值的类型是const char *,它是指向常量数据的指针。

编译器抱怨你将一个指向常量数据的指针传递给一个想要指向可变数据的指针的函数。