SQLEXECTIRECT命令无法使用相同的查询
SQLExecDirect command is not working same queries
我正在工作Visual Studio 2017和SQL Server 2017。
我想做的就是使用C 创建一个查询,它将在SQL Server上运行。
if (SQL_SUCCESS != SQLExecDirect(sqlStmtHandle, (SQLWCHAR*)L"SELECT @@VERSION", SQL_NTS)) {
cout << "Database Already Exits or Cannot Created";
cout << "n";
goto COMPLETED;
}
else {
cout << "Success !!!";
cout << "n";
}
我使用此示例:https://www.techhowtos.com/programming/how-to-connect-to-sql-server-server-from-visual-visual-c-plus-plus-plus/
但是,
if (SQL_SUCCESS != SQLExecDirect(sqlStmtHandle, (SQLWCHAR*)L"SELECT @@VERSION", SQL_NTS))
在这条线上,如果我写
if (SQL_SUCCESS != SQLExecDirect(sqlStmtHandle, (SQLWCHAR*)L"**USE database_name**", SQL_NTS))
或
if (SQL_SUCCESS != SQLExecDirect(sqlStmtHandle, (SQLWCHAR*)L"**SELECT * FROM sampletable**", SQL_NTS))
或
if (SQL_SUCCESS != SQLExecDirect(sqlStmtHandle, (SQLWCHAR*)L"INSERT INTO sampletable (one,two,three) VALUES (1,2,3)", SQL_NTS))
此查询不起作用。
但是,
如果我正在运行此查询(一些示例);
if (SQL_SUCCESS != SQLExecDirect(sqlStmtHandle, (SQLWCHAR*)L"**CREATE DATABASE blablabla**", SQL_NTS))
或
if (SQL_SUCCESS != SQLExecDirect(sqlStmtHandle, (SQLWCHAR*)L"**DELETE DATABASE blablabla**", SQL_NTS))
查询正在工作。
我有2个功能
void run_query(string query);
void create_query();
创建查询函数正常工作。生成查询,此查询转到run_query。
我应该在run_query()函数中做什么,以便每个创建的查询都可以吗?
我在这里的所有代码:https://paste.laravel.io/7c693fdb-2dc9-41cc-b183-6e45fd3d9b6d
感谢一切:)
sqlexecdirect在语句成功时可以返回sql_success以外的值。例如,USE
通常会返回SQL_SUCCESS_WITH_INFO
,以指示声明成功,并且返回信息/警告消息("更改数据库上下文")。如果需要,可以使用SQLGetDiagRec
检索消息。
我建议您至少考虑所有"快乐路径" ODBC函数调用返回值并适当处理每个值,并在返回意外值时提高例外情况,并带有诊断信息。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 从命令行c++发送文本文件名
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 查询SQLite数据库中的日期
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 使用QProcess执行命令,并将结果存储在QStringList中
- 数组长度,为什么从命令行获取时不能使用它?
- 如何在ArangoDb AQL查询中指定数据库
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- clang整洁10忽略了我的NOLINT命令
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- 使用VS Code和CMake Tools运行自定义命令
- Qt SQLite没有查询或参数计数不匹配
- SQLEXECTIRECT命令无法使用相同的查询
- 正确重复使用ADODB命令对象执行多个查询
- DB(MYSQL)命令在c++中进行查询
- DeviceIoControl for SCSI查询命令返回错误50