所有,

我正在尝试创建一个连接到MS SQL Server(2012)的程序。该程序将执行一些SELECT查询。

当我尝试使用这样的代码时:

ret = SQLBindCol( stmt_tableProp, 25, SQL_C_WCHAR, &comments, 225, &cbComment );
ret = SQLFetch( stmt_tableProp );

“comment”变量中的值将为:
"This is a comment            "

而我希望它是:
"This is a comment"

我想我需要在连接上设置一些选项。

令人惊讶的是,尝试在mySQL和PostgreSQL上执行相同的代码不会产生此结果。我得到了与unixODBC和iODBC相同的期望。

我对吗?如果是的话,哪一个以及该怎么做?

最佳答案

在我看来,这是基础列为或将列视为char vs varchar的情况。 Char将始终填充到列的宽度

关于c++ - SQLBindCol()/SQLFetch()返回尾随空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41785983/

10-13 03:51