求救啊~初学~API通过ODBC读取数据库,解决问题再加100分,老本啊

wangyinet wangyinet 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
代码如下,你可以直接考过去调试
#include <conio.h>//getch()
#include <stdio.h>
#include <afxwin.h>//// MFC core and standard components
#include <sqlext.h> //包含有扩展的ODBC的定义
#include <sql.h> //包含有基本的ODBC API的定义
#pragma comment(lib, "odbc32.lib")

int main(int argc, char* argv[])
{

SQLRETURN sr;
SQLHENV hEnv; //分配odbc环境
SQLHDBC hDbc;//
SQLHSTMT hStmt;//
//
SQLCHAR szName[50];
SQLINTEGER cbName;
//
char szDSN[] = "TestDB";//ODBC数据源
char szUID[] = "sa"; //SQL用户
char szAuthStr[] = ""; //口令
LPCSTR svSQL="select szName from [ApiOdbc]";

//创建环境句柄
sr = SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&hEnv);
if(sr==SQL_SUCCESS)
{
printf("1~~创建环境句柄SQLAllocHandle Success!\n");
}
sr = SQLSetEnvAttr(hEnv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER) SQL_OV_ODBC3,SQL_IS_INTEGER);
if(sr==SQL_SUCCESS)
{
printf("2~~SQLSetEnvAttr Success!\n");
}
//创建连接句柄
sr = SQLAllocHandle(SQL_HANDLE_DBC,hEnv,&hDbc);
if(sr==SQL_SUCCESS)
{
printf("3~~创建连接句柄SQL_HANDLE_DBC Success!\n");
}
//设置连接属性
sr = SQLSetConnectAttr(hDbc,SQL_ATTR_LOGIN_TIMEOUT,(void*)5,0);
if(sr==SQL_SUCCESS)
{
printf("4~~设置连接属性SQLSetConnectAttr Success!\n");
}
//连接
sr = SQLConnect(hDbc,(SQLCHAR *)szDSN, SQL_NTS,(SQLCHAR *)szUID,SQL_NTS,(SQLCHAR *)NULL,SQL_NTS);
if(sr == SQL_SUCCESS) -----------------------------------这里不能通过上面返回都是对的
{
printf("5~~连接Connect Success!\n");
}
//分配语句句柄
sr=SQLAllocHandle(SQL_HANDLE_STMT, hDbc, &hStmt);
if(sr==SQL_SUCCESS)
{
printf("6~~分配语句句柄SQL_HANDLE_STMT Success!\n");
}
//执行SQL查询语句
sr=SQLExecDirect(hStmt,(UCHAR *)svSQL,SQL_NTS);
if (sr == SQL_SUCCESS)
{
printf("7~~执行SQL查询语句SQLExecDirect Success!\n");
while ((sr=SQLFetch(hStmt))!=SQL_NO_DATA)
{
//执行SQL语句后遍历结果集来得到数据
SQLGetData(hStmt, 2, SQL_C_CHAR, szName, 50, &cbName);
printf("%s\n",szName);
}
}

//断开数据库连接
sr = SQLDisconnect(hDbc);
if(hDbc != SQL_NULL_HANDLE)
SQLFreeHandle(SQL_HANDLE_DBC,hDbc);
if(hDbc != SQL_NULL_HANDLE)
SQLFreeHandle(SQL_HANDLE_ENV,hEnv);
if(hStmt!=NULL)
SQLFreeStmt( hStmt, SQL_DROP );

printf("Hello API ODBC!\n");
getch();
return 0;
}


解决问题再加100分,拼老本啊
Email :guemcit@163.com

...全文

相关推荐

高校技术转移办公室人员如何高效开展技术需求挖掘工作?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

科技中介服务机构如何提升服务的专业性与用户粘性?.docx

科技中介服务机构如何提升服务的专业性与用户粘性?

BIZKEEN

高校技术转移办公室人员在组织科研成果展示时,如何提升推介材料的专业性与吸引力?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

三相并网逆变器无功功率扰动+孤岛检测控制算法仿真【参考文献+仿真】

内容概要:本文系统梳理了一套面向电力电子与新能源并网领域的仿真研究资源,聚焦三相并网逆变器的关键控制技术,涵盖无功功率扰动、孤岛检测算法、低电压穿越(LVRT)、中点电位平衡、虚拟同步发电机(VSG)、下垂控制、模型预测控制(MPC)、准PR控制及LCL滤波器设计等核心技术。资源包含多种逆变器拓扑结构(如T型三电平、Z源、ANPC、四桥臂等)的Simulink仿真模型,并结合扫频法进行正负序阻抗建模与稳定性分析,强调通过复现经典科研案例提升实际科研能力,适用于电力系统稳定性、微电网运行与可再生能源并网等方向的研究与验证。; 适合人群:电力电子、电气工程及其自动化、新能源科学与工程等相关专业的高校研究生、科研人员及从事光伏、储能逆变器开发的工程技术人员,需具备MATLAB/Simulink仿真基础和一定的电力系统控制理论知识。; 使用场景及目标:① 掌握三相并网逆变器在孤岛检测、无功调节、不平衡电网等复杂工况下的先进控制策略设计与仿真方法;② 借助提供的仿真模型与参考文献快速搭建科研平台,用于论文复现、课题开发或项目验证;③ 深入理解VSG、MPC、阻抗建模与下垂控制等关键技术的实现机制与工程应用路径。; 阅读建议:建议结合文中提供的网盘链接与公众号“荔枝科研社”获取完整仿真模型与参考资料,按照目录顺序循序渐进学习,注重理论推导与仿真实践相结合,优先复现基础模型再进行参数优化与创新拓展。

程序辅导帮

香橙派5-uefi-edk2-spi-flash镜像

香橙派5-uefi-edk2-spi-flash镜像

星际海的蜗牛
评论 3
收藏 已收藏
分享
返回顶部
wangyinet
数据库 4,017 成员 39,805 内容