- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个与运行在 Windows 2008 R2 上的 mssql 数据库交互的 C 应用程序。我能够连接到数据库并运行特定的查询,但是当我使用 SQLBindParameter 时,事情就分崩离析了。
我在 stackoverflow 上发现了一篇似乎是同样问题的帖子,但解决方案似乎并不相同( Problems getting SQLBindParameter to work in C++ )。根据 C 数据类型 SQL_C_CHAR 是正确的 ( https://msdn.microsoft.com/en-us/library/windows/desktop/ms714556(v=vs.85).aspx )
这是代码
SQLINTEGER strlentemp = SQL_NTS;
SQLCHAR *sqlstmt = "select * from detail where name = ?";
status = SQLPrepare(hstmt->hstmt, sqlstmt, SQL_NTS);
unsigned char *temp = "myvalue";
status = SQLBindParameter(hstmt->hstmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, 50,0,temp,strlen(temp),&strlentemp);
status = SQLExecute(hstmt->hstmt);
最佳答案
如果 SQLBindParameter() 成功但 SQLExecute() 返回 SQL_NEED_DATA,那么您对 SQLBindParameter() 的使用不正确,通常是值大小或字段大小。
对 ANSI 和宽字符串尝试以下代码:
SQLRETURN SQLBindStringW(SQLHSTMT hstmt, SQLUSMALLINT ipar, LPCWSTR szString)
{
SQLRETURN ret;
SQLULEN len;
SQLINTEGER size;
SQLPOINTER pData;
len = wcslen(szString);
size = len * sizeof(WCHAR);
pData = (SQLPOINTER)szString;
StrLen = SQL_NTSL;
ret = ::SQLBindParameter(hstmt, ipar, SQL_PARAM_INPUT, SQL_C_WCHAR, SQL_WVARCHAR, len, 0, pData, size, &StrLen);
return ret;
}
SQLRETURN SQLBindStringA(SQLHSTMT hstmt, SQLUSMALLINT ipar, LPCSTR szString)
{
SQLRETURN ret;
SQLULEN len;
SQLINTEGER size;
SQLPOINTER pData;
len = strlen(szString);
size = len * sizeof(CHAR);
pData = (SQLPOINTER)szString;
StrLen = SQL_NTSL;
ret = ::SQLBindParameter(hstmt, ipar, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, len, 0, pData, size, &StrLen);
return ret;
}
关于c - SQLBindParameter 和 SQLExecute 返回 SQL_NEED_DATA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32655466/
我正在开发一个与运行在 Windows 2008 R2 上的 mssql 数据库交互的 C 应用程序。我能够连接到数据库并运行特定的查询,但是当我使用 SQLBindParameter 时,事情就分崩
我试图在查询中使用参数,但我(或我的系统)似乎有日期问题。 我正在连接到 MS SQL Server 并定义我想要处理的特定日期 endDate sql [1] "select date from
我是一名优秀的程序员,十分优秀!