• 大小: 6.81MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-30
  • 语言: C/C++
  • 标签: SQL数据库  

资源简介

前几天在研究C/C++链接SQL server数据的方法,前前后后在网上找了不少的文章,大多数文章都没法真正的解决入门新手的全部疑惑,所以在此整理一下自己整个连接数据库的过程,希望能帮到有需要的人。

资源截图

代码片段和文件信息

/************************************************************************/
/* Fuction:数据库操作中的添加,查找,删除  修改还没添加                */
/* Editor:王培丞                                                       */
/* Time:2017-10-02                                                     */
/*注意:项目属性-> C/C++ ->命令行->其他选项 / D _CRT_SECURE_NO_WARNINGS */
/* 配置属性->常规:字符集->未设置                                  */
/************************************************************************/

#include “city.h“


int main()
{

UCHAR   szDSN[SQL_MAX_DSN_LENGTH + 1] = “db_city“;  //数据库名
UCHAR szUID[MAXNAME] = “sa“;  //用户名
UCHAR szAuthStr[MAXNAME] = “ww123456“;  //密码

char sql[61] = “\0“; //插入时是用的sql语句的存放变量 
char initialize[2] = “\0“; //初始化变量


/*
一、使用ODBC API建立数据库连接分为3部分:
1.申请环境句柄,
2.使用环境句柄申请连接句柄
3.使用连接句柄连接数据库
*/

//1.申请环境句柄  
SQLAllocHandle(SQL_HANDLE_ENV NULL &henv);
SQLSetEnvAttr(henv SQL_ATTR_ODBC_VERSION
(SQLPOINTER)SQL_OV_ODBC3SQL_IS_INTEGER);
//2.使用环境句柄申请连接句柄  
SQLAllocHandle(SQL_HANDLE_DBC henv &hdbc);
//3.使用连接句柄连接数据库
 SQLRETURN SOL_RET = SQLConnect(hdbc szDSN SQL_NTS szUID SQL_NTS szAuthStr SQL_NTS);
if ((SOL_RET != SQL_SUCCESS) && (SOL_RET != SQL_SUCCESS_WITH_INFO))
{
printf(“连接失败!“);
}
else
{
/* 
二、创建并执行一条或多条SQL语句
1.分配一个语句句柄(statement handle)
2.创建SQL语句
3.执行语句
4.销毁语句
*/

int choose; //用户选择序号的储存变量
while (1)
{
printf(“城市管理系统:\n“);
printf(“ 1.添加城市\n“);
printf(“ 2.全部查询\n“);
printf(“ 3.纬度精确查询\n“);
printf(“ 4.删除城市\n“);
printf(“ 0.退出系统\n“);
printf(“\n“);
scanf(“%d“ &choose);

SQLAllocHandle(SQL_HANDLE_STMT hdbc &hstmt);//每次循环分配一个句柄

switch (choose)
{
case ADD_INSERT:
{ //添加城市
insert_city( sql initialize);
break;
}
case SELECT_ALL:
{
//全部输出
selectAll( sql initialize);
break;
}
case SELECT_LAT_EXACT:
{
//通过具体纬度查找
selectByLat( sql initialize);
break;
}
case DELETE_INSERT:
{
//删除城市
delete_city( sql initialize);
break;
}
case EXIT:
{
//删除城市
exit(0);
}

}
SQLCloseCursor(hstmt);
SQLFreeHandle(SQL_HANDLE_STMT hstmt);
}
}

/*
三、断开数据源
1.断开与数据源的连接.
2.释放连接句柄.
3.释放环境句柄 (如果不再需要在这个环境中作更多连接)
*/

SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC hdbc);
SQLFreeHandle(SQL_HANDLE_ENV henv);

getchar();
getchar();
return(0);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     33792  2017-10-03 12:00  数据库_城市管理3\.vs\数据库_城市管理3\v14\.suo

     文件     588288  2017-10-03 11:58  数据库_城市管理3\readme.doc

     文件       2837  2017-10-02 21:53  数据库_城市管理3\数据库_城市管理3\city.cpp

     文件       6277  2017-10-03 12:00  数据库_城市管理3\数据库_城市管理3\city.h

     文件      47039  2017-10-02 21:50  数据库_城市管理3\数据库_城市管理3\Debug\city.obj

     文件     551936  2017-10-02 21:50  数据库_城市管理3\数据库_城市管理3\Debug\vc140.idb

     文件     167936  2017-10-02 21:50  数据库_城市管理3\数据库_城市管理3\Debug\vc140.pdb

     文件        611  2017-10-02 21:45  数据库_城市管理3\数据库_城市管理3\Debug\数据库_城市管理3.Build.CppClean.log

     文件        443  2017-10-02 21:50  数据库_城市管理3\数据库_城市管理3\Debug\数据库_城市管理3.log

     文件        696  2017-10-02 21:50  数据库_城市管理3\数据库_城市管理3\Debug\数据库_城市管理3.tlog\CL.command.1.tlog

     文件      21600  2017-10-02 21:50  数据库_城市管理3\数据库_城市管理3\Debug\数据库_城市管理3.tlog\CL.read.1.tlog

     文件        540  2017-10-02 21:50  数据库_城市管理3\数据库_城市管理3\Debug\数据库_城市管理3.tlog\CL.write.1.tlog

     文件       1210  2017-10-02 21:50  数据库_城市管理3\数据库_城市管理3\Debug\数据库_城市管理3.tlog\link.command.1.tlog

     文件       2752  2017-10-02 21:50  数据库_城市管理3\数据库_城市管理3\Debug\数据库_城市管理3.tlog\link.read.1.tlog

     文件        518  2017-10-02 21:50  数据库_城市管理3\数据库_城市管理3\Debug\数据库_城市管理3.tlog\link.write.1.tlog

     文件        226  2017-10-02 21:50  数据库_城市管理3\数据库_城市管理3\Debug\数据库_城市管理3.tlog\数据库_城市管理3.lastbuildstate

     文件       7832  2017-10-02 20:27  数据库_城市管理3\数据库_城市管理3\数据库_城市管理3.vcxproj

     文件       1062  2017-10-02 20:22  数据库_城市管理3\数据库_城市管理3\数据库_城市管理3.vcxproj.filters

     文件       1351  2017-10-02 19:52  数据库_城市管理3\数据库_城市管理3.sln

     文件   26664960  2017-10-03 12:00  数据库_城市管理3\数据库_城市管理3.VC.db

     目录          0  2017-10-02 19:52  数据库_城市管理3\.vs\数据库_城市管理3\v14

     目录          0  2017-10-02 21:50  数据库_城市管理3\数据库_城市管理3\Debug\数据库_城市管理3.tlog

     目录          0  2017-10-02 19:52  数据库_城市管理3\.vs\数据库_城市管理3

     目录          0  2017-10-02 21:50  数据库_城市管理3\数据库_城市管理3\Debug

    ...D.H.         0  2017-10-02 19:52  数据库_城市管理3\.vs

     目录          0  2017-10-03 12:00  数据库_城市管理3\数据库_城市管理3

     目录          0  2017-10-03 12:00  数据库_城市管理3

----------- ---------  ---------- -----  ----

             28101906                    27



............此处省略0个文件信息

评论

共有 条评论