全部,
我的代码如下:
std::wstring ownerName = table->GetTableOwner();
SQLWCHAR *owner_name = new SQLWCHAR[ownerNameLen + 2];
int ownerNameLen = ownerName.length();
SQLLEN cbOwnerName = ownerNameLen == 0 ? SQL_NULL_DATA : SQL_NTS;
ret = SQLBindParameter( stmt_tableProp, 2, SQL_PARAM_INPUT, SQL_C_WCHAR, SQL_WCHAR, ownerNameLen, 0, owner_name, 0, &cbOwnerName );
当 owner_name 包含实际数据时,对 SQLBindParameter 的调用成功。但是,如果 owner_name 为 '',则调用失败。我得到的错误信息是“HY104 - 无效的精度或比例值”。
根据 MSDN,看起来 size 的值应该是列的大小,而不是实际参数的大小。这个对吗?或者我应该传递 0 作为绑定值的长度?
此外,还有这个页面使用不同的值。
有人可以阐明一下吗?
蒂亚!