C++ ODBC SQL - 插入到表中不起作用
C++ ODBC SQL - Insert into table not working
我一直在尝试在我的SQL表中插入一行,我没有收到语法错误,但不幸的是,当我在SQL Server管理工作室中检查我的表时,没有添加新条目。调试时,retCode 从 SQLConnect(( 函数开始变得小于零。
int main()
{
SQLHANDLE SQLEnvHandle = NULL;
SQLHANDLE SQLConnectionHandle = NULL;
SQLHANDLE SQLStatementHandle = NULL;
SQLRETURN retCode = 0;
// Insert Query
char SQLQuery[] = "insert into crm.dbo.company_name values (22,'01 electronics','@01electronics.net');";
// SQL Server Identifier
char SQLServer[] = "DRIVER={SQL Server}; SERVER=localhost, 8000; DATABASE=xxxx; UID=xxxx_xxxx; PWD=xxxx;";
do
{
// Allocate environment
retCode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &SQLEnvHandle);
// Set ODBC Version
retCode = SQLSetEnvAttr(SQLEnvHandle, SQL_ATTR_ODBC_VERSION,(SQLPOINTER*)SQL_OV_ODBC3, 0);
// Allocate Connection
retCode = SQLAllocHandle(SQL_HANDLE_DBC, SQLEnvHandle, &SQLConnectionHandle);
// Set Login Timeout
retCode = SQLSetConnectAttr(SQLConnectionHandle, SQL_LOGIN_TIMEOUT, (SQLPOINTER)5, 0);
// Set Auto Commit
retCode = SQLSetConnectAttr(SQLConnectionHandle, SQL_ATTR_AUTOCOMMIT, (SQLPOINTER)TRUE, 0);
// Connect to DSN
retCode = SQLConnect(SQLConnectionHandle, (SQLCHAR*) SQLServer, SQL_NTS, (SQLCHAR*)NULL, 0, NULL, 0);
// Allocate Statement Handle
retCode = SQLAllocHandle(SQL_HANDLE_STMT, SQLConnectionHandle, &SQLStatementHandle);
// Prepare Statement
retCode = SQLPrepare(SQLStatementHandle, (SQLCHAR*)SQLQuery, SQL_NTS);
// Execute Statement
if (SQLExecute(SQLStatementHandle) == SQL_SUCCESS || SQLExecute(SQLStatementHandle) == SQL_SUCCESS_WITH_INFO)
cout << "SUCCESS";
else
cout << "FAILURE";
} while (FALSE);
// Frees the resources and disconnects
SQLFreeHandle(SQL_HANDLE_STMT, SQLStatementHandle);
SQLDisconnect(SQLConnectionHandle);
SQLFreeHandle(SQL_HANDLE_DBC, SQLConnectionHandle);
SQLFreeHandle(SQL_HANDLE_ENV, SQLEnvHandle);
getchar();
}
调试时,retCode 从 SQLConnect(( 函数开始变得小于零。
从文档中:
当 SQLConnect 返回SQL_ERROR或SQL_SUCCESS_WITH_INFO时,一个 关联的 SQLSTATE 值可以通过调用 SQLGetDiagRec 来获取 句柄类型为SQL_HANDLE_DBC,句柄为连接句柄
相关文章:
- C++插入排序错误功能不起作用
- 链接列表中的所有节点都相同,似乎插入不起作用
- 使用链表.为什么我的插入功能不起作用?
- 使用 std::move 在开始时插入矢量的中间元素不起作用
- C++ ODBC SQL - 插入到表中不起作用
- 插入排序不起作用
- 选择在 Sqlite 数据库中有效,但插入和更新语句不起作用
- 插入二进制树(非BST)不起作用
- 非递归二进制树插入()方法不起作用
- 为什么链表中的插入函数不起作用?(C++)
- 二叉树递归插入方法不起作用
- C++:STL 映射,插入新值不起作用
- 在二叉搜索树中插入不起作用
- 从 stdin 复制不起作用,无法使用 libpqxx 在 C++ 中插入 postgres
- 二叉树插入不起作用
- 使用地图库插入不起作用
- 二进制搜索树递归插入导致堆栈溢出,迭代插入不起作用
- 关于STL向量的插入函数可能不起作用的场景的讨论
- 插入和合并排序在大数据集c++中不起作用
- 插入和提取运算符不起作用