当前位置: 首页 > news >正文

网站建设效益分析wordpress博客主题制作

网站建设效益分析,wordpress博客主题制作,南京软件网站建设公司,godday网站建设第1关#xff1a;ODBC程序设计 任务描述相关知识ODBC主要功能ODBC接口主要函数ODBC应用程序开发实例DM ODBC应用程序开发总体流程DM ODBC代码编写流程DM ODBC代码编写实例 编程要求测试说明代码参考#xff1a; 任务描述 本关任务#xff1a;使用 ODBC 查询表中数据。 相关… 第1关ODBC程序设计 任务描述相关知识ODBC主要功能ODBC接口主要函数ODBC应用程序开发实例DM ODBC应用程序开发总体流程DM ODBC代码编写流程DM ODBC代码编写实例 编程要求测试说明代码参考 任务描述 本关任务使用 ODBC 查询表中数据。 相关知识 为了完成本关任务你需要掌握 1.ODBC 的主要功能 2.ODBC 接口主要函数 3.ODBC 应用程序开发实例。 ODBC主要功能 ODBCOpen Database Connectivity开放式数据库连接是由 Microsoft 开发和定义的一种访问数据库的应用程序接口其定义了访问数据库API的一组规范这些API独立于形色各异的数据库系统和编程语言。因此ODBC 支持不同编程语言同时也支持不同的数据库系统。借助 ODBC 接口应用程序能够使用相同的源代码和各种各样的数据库交互。这使得应用程序开发人员不需要考虑各类数据库系统的构造细节只要使用相应 ODBC 驱动程序即可通过将 SQL 语句发送到目标数据库中可以访问和操作各类数据库中的数据。 也就是说一个基于 ODBC 的应用程序对数据库的操作不依赖任何数据库系统所有的数据库操作由对应数据库的ODBC驱动程序完成。不论是 SQL Server、Access、Oracle,还是 DM 数据库均可借助 ODBC API 进行访问。ODBC 体系结构如下图所示ODBC 驱动程序管理器用于管理各种 ODBC 驱动程序基于 ODBC 开发的应用程序通过 ODBC 驱动程序管理器调用针对不同数据库的驱动程序进行数据对象的维护、数据的查询和修改等操作。 DM8 数据库提供的 DM ODBC 3.0 接口遵照 Microsoft ODBC 3.0 规范设计与开发实现了 ODBC 应用程序与 DM 的互连。其由 C 语言编写其底层调用 DM DCI 接口实现。因此应用程序开发人员可基于 ODBC 接口规范使用 DM ODBC 驱动访问和操作 DM8 数据库。 ODBC接口主要函数 由于 DM ODBC 遵照 Microsoft ODBC 3.0 规范设计与开发因此 DM ODBC 接口提供的函数与标准 ODBC 一致。由于 DM ODBC 接口函数较多下图仅列出了 DM ODBC 接口的主要函数。 ODBC应用程序开发实例 DM ODBC应用程序开发总体流程 DM ODBC 为程序员提供了基于 ODBC 接口开发应用程序的手段程序员使用 DM ODBC 开发应用程序时总体流程如下图所示。首先安装 DM ODBC 驱动其次配置 ODBC 数据源最后基于 DM ODBC 编程规范编写代码访问和操作 DM8 数据库。 1安装 DM ODBC 驱动程序 示例 1.将附件 unixODBC-2.3.0.tar.gz 上传到 /usr/local 下执行安装。 [rootlocalhost local]# tar -xzvf unixODBC-2.3.0.tar.gz [rootlocalhost unixODBC-2.3.0]# cd unixODBC-2.3.0 [rootlocalhost unixODBC-2.3.0]# ./configure --enable-guino [rootlocalhost unixODBC-2.3.0]# make [rootlocalhost unixODBC-2.3.0]# make install2.查看操作系统上查看 ODBC 版本 [dmdbalocalhost]# odbc_config --version 2.3.03.查看 ODBC 配置文件存放的位置 [rootlocalhost etc]# odbc_config --odbcini /etc/odbc.ini [rootlocalhost etc]# odbc_config --odbcinstini /etc/odbcinst.ini4.修改odbc.ini文件 [dmdbalocalhost]# vi /etc/odbc.ini [dm] Description DM ODBC DSN Driver DM7 ODBC DRIVER SERVER localhost UID SYSDBA PWD SYSDBA TCP_PORT 52365.修改odbcinst.ini文件 [dmdbalocalhost]# vi /etc/odbcinst.ini [DM7 ODBC DRIVER] Description ODBC DRIVER FOR DM7 Driver /opt/dmdbms/bin/libdodbc.so6.测试连接 [rootlocalhost]# isql dm SYSDBA SYSDBA --------------------------------------- | Connected! | | | | sql-statement | | help [tablename] | | quit | | | ---------------------------------------出现上述“Connected”就代表安装成功。 2配置 DM ODBC 数据源 3编写 DM ODBC 代码。 DM ODBC代码编写流程 DM ODBC 数据源配置成功后即可编写代码访问和操作数据库。遵循 ODBC 编程规范基于 DM ODBC 接口编写代码访问和操作数据库大致流程如下图所示。 首先创建连接环境和连接数据库。主要通过调用相关函数分配环境句柄、设置环境属性、分配连接句柄和建立数据库连接等过程。 其次访问和操作数据库。主要通过建立的连接来分配语句句柄、执行SQL语句等操作该过程是操作数据库的主体部分与数据库的所有交互均在该过程完成。 最后断开连接和释放连接资源。数据库操作完成后程序需关闭数据库连接并释放连接资源。 DM ODBC代码编写实例 【例1】 基于 DM ODBC 编程接口利用已配置的 DM ODBC 数据源 DM编写程序实现获取数据源 DM 对应数据库中 DMHR.EMPLOYEE 表的数据包括职员 ID、姓名、手机号码等信息。 在 Visual Studio Code 集成开发环境中创建一个项目并为项目添加一个 .cpp 源代码文件然后添加依赖文件“dodbc.so”和达梦数据库安装目录下的 bin 和 include 两个依赖目录接着基于 DM ODBC 接口编写代码。 1创建连接环境和连接数据库 应用程序与 DM 数据库进行通讯需要和数据库建立连接。①调用函数 SQLAllocHandle 申请环境、连接句柄②调用函数 SQLSetEnvAttr 设置环境句柄属性③调用函数 SQLSetConnectAttr 设置连接句柄属性⑤调用连接函数 SQLConnect、SQLDriverConnect 或 SQLBrowseConnect 连接数据源。 2访问和操作数据库 与 ODBC 数据源建立连接后即可通过 ODBC 函数访问和操作数据。调用 SQLAllocHandle 申请语句句柄通过该句柄执行 SQL 语句调用函数 SQLPrepare 对 SQL 语句和操作进行准备调用 SQLDescribeCol、SQLDescribeParam 等函数取得相关的描述信息依据描述信息调用 SQLBindCol、SQLBindParam 等函数绑定相关的列和参数调用 SQLExecute 执行 SQL 语句实现相关的 SQL 操作。应用程序也可以调用 SQLExecDirect 直接执行 SQL 语句进行相关的 SQL 操作。 3断开数据连接和释放连接资源 数据库操作完成后程序需关闭数据库连接并释放连接资源。如果要终止客户程序与服务器之间的连接客户程序应当完成以下的几个操作 1调用 SQLFreeHandle 释放语句句柄关闭所有打开的游标释放相关的语句句柄资源在非自动提交模式下需事先提交当前的事务 2调用函数 SQLDisconnect 关闭所有的连接 3调用 SQLFreeHandle 释放连接句柄及其相关的资源 4调用 SQLFreeHandle 释放环境句柄及其相关的资源。 例 1 代码如下所示该代码可用于查询 dmhr.employee 表中所有职工姓名、id 和电话号码。 #include sys/socket.h #include unistd.h #include stdio.h #include sql.h #include sqltypes.h #include sqlext.h /* 检测返回代码是否为成功标志当为成功标志返回 TRUE否则返回 FALSE */ #define RC_SUCCESSFUL(rc) ((rc) SQL_SUCCESS || (rc) SQL_SUCCESS_WITH_INFO) /* 检测返回代码是否为失败标志当为失败标志返回 TRUE否则返回 FALSE */ #define RC_NOTSUCCESSFUL(rc) (!(RC_SUCCESSFUL(rc))) HENV henv; /* 环境句柄 */ HDBC hdbc; /* 连接句柄 */ HSTMT hsmt; /* 语句句柄 */ SQLRETURN sret;/* 返回代码 */ char szpersonid[11]; /*人员编号*/ SQLLEN cbpersonid0; char szname[51]; /*人员姓名*/ SQLLEN cbname0; char szphone[26]; /*联系电话*/ SQLLEN cbphone0; void main(void) {/* 申请一个环境句柄 */SQLAllocHandle(SQL_HANDLE_ENV, NULL, henv);if(henv NULL){printf(ODBC 环境句柄分配失败);return;}/* 设置环境句柄的 ODBC 版本 */SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);/* 申请一个连接句柄 */SQLAllocHandle(SQL_HANDLE_DBC, henv, hdbc);if(hdbc NULL){printf(ODBC 连接句柄分配失败);return;}sretSQLConnect(hdbc, (SQLCHAR *)DM, SQL_NTS, (SQLCHAR *)DMHR, SQL_NTS, (SQLCHAR *)dameng123, SQL_NTS);if(sret SQL_SUCCESS||sretSQL_SUCCESS_WITH_INFO){/* 申请一个语句句柄 */SQLAllocHandle(SQL_HANDLE_STMT, hdbc, hsmt);/* 立即执行查询人员信息表的语句 */SQLExecDirect(hsmt, (SQLCHAR *)SELECT employee_id, employee_name, phone_num FROM dmhr.employee;, SQL_NTS);/* 绑定数据缓冲区 */SQLBindCol(hsmt, 1, SQL_C_CHAR, szpersonid, sizeof(szpersonid), cbpersonid);SQLBindCol(hsmt, 2, SQL_C_CHAR, szname, sizeof(szname), cbname);SQLBindCol(hsmt, 3, SQL_C_CHAR, szphone, sizeof(sazphone), cbphone);/* 取得数据并且打印数据 */printf(人员编号 人员姓名 联系电话\n);for (;;) {sret SQLFetchScroll(hsmt, SQL_FETCH_NEXT, 0);if (sret SQL_NO_DATA_FOUND)break;printf(%s %s %s\n, szpersonid, szname, szphone);}}else{printf(连接失败\n);}/* 关闭游标终止语句执行 */SQLCloseCursor(hsmt);/* 释放语句句柄 */SQLFreeHandle(SQL_HANDLE_STMT, hsmt);/* 断开与数据源之间的连接 */SQLDisconnect(hdbc);/* 释放连接句柄 */SQLFreeHandle(SQL_HANDLE_DBC, hdbc);/* 释放环境句柄*/SQLFreeHandle(SQL_HANDLE_ENV, henv); }其中 DMHR 为用户名dameng123 为密码。 编程要求 使用右侧 VS CODE 编写 ODBC 程序查询 test.tb_class 表中所有数据。 登录用户名为SYSDBA密码SYSDBA。 操作步骤 1.打开 VS CODE,在 HELLOWORLD 项目下方新建 test.cpp 文件并在该文件中实现 ODBC 程序需求 2.编辑 HELLOWORLD 项目下的 task.json 文件按下图所示添加依赖文件dodbc.so。 4.选中 test.c 文件按下“CtrlShiftB”,编译 test.cpp 文件 5.点击测评。 test.tb_class 表字段信息 字段名字段类型idintnamevarchar(25) 测试说明 平台会对你编写的代码进行测试。 开始你的任务吧祝你成功 代码参考 打开 VS CODE编辑 HELLOWORLD 项目下的 task.json 文件加上代码“-dodbc”, 在 HELLOWORLD 项目下方新建 test.cpp 文件复制以下代码 点击右侧的 “工具栏”-“复制粘贴” 即可粘贴进去了 选中 test.c 文件按下“CtrlShiftB”,编译 test.cpp 文件 #include sys/socket.h #include unistd.h #include stdio.h #include sql.h #include sqltypes.h #include sqlext.h /* 检测返回代码是否为成功标志当为成功标志返回 TRUE否则返回 FALSE */ #define RC_SUCCESSFUL(rc) ((rc) SQL_SUCCESS || (rc) SQL_SUCCESS_WITH_INFO) /* 检测返回代码是否为失败标志当为失败标志返回 TRUE否则返回 FALSE */ #define RC_NOTSUCCESSFUL(rc) (!(RC_SUCCESSFUL(rc))) HENV henv; /* 环境句柄 */ HDBC hdbc; /* 连接句柄 */ HSTMT hsmt; /* 语句句柄 */ SQLRETURN sret;/* 返回代码 */ int szpersonid; /*人员编号*/ SQLLEN cbpersonid0; char szname[51]; /*人员姓名*/ SQLLEN cbname0; int main(void) {/* 申请一个环境句柄 */SQLAllocHandle(SQL_HANDLE_ENV, NULL, henv);if(henv NULL){printf(ODBC 环境句柄分配失败);return -1;}/* 设置环境句柄的 ODBC 版本 */SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);/* 申请一个连接句柄 */SQLAllocHandle(SQL_HANDLE_DBC, henv, hdbc);if(hdbc NULL){printf(ODBC 连接句柄分配失败);return -1;}sretSQLConnect(hdbc, (SQLCHAR *)DM, SQL_NTS, (SQLCHAR *)SYSDBA, SQL_NTS, (SQLCHAR *)SYSDBA, SQL_NTS);if(sret SQL_SUCCESS||sretSQL_SUCCESS_WITH_INFO){/* 申请一个语句句柄 */SQLAllocHandle(SQL_HANDLE_STMT, hdbc, hsmt);/* 立即执行查询人员信息表的语句 */SQLExecDirect(hsmt, (SQLCHAR *)SELECT id, name FROM test.tb_class;, SQL_NTS);/* 绑定数据缓冲区 */SQLBindCol(hsmt, 1, SQL_C_CHAR, szpersonid, sizeof(szpersonid), cbpersonid);SQLBindCol(hsmt, 2, SQL_C_CHAR, szname, sizeof(szname), cbname);/* 取得数据并且打印数据 */for (int i 1;;i) {sret SQLFetchScroll(hsmt, SQL_FETCH_NEXT, 0);if (sret SQL_NO_DATA_FOUND)break;printf(%d %s\n, i, szname);}}else{printf(连接失败\n);}/* 关闭游标终止语句执行 */SQLCloseCursor(hsmt);/* 释放语句句柄 */SQLFreeHandle(SQL_HANDLE_STMT, hsmt);/* 断开与数据源之间的连接 */SQLDisconnect(hdbc);/* 释放连接句柄 */SQLFreeHandle(SQL_HANDLE_DBC, hdbc);/* 释放环境句柄*/SQLFreeHandle(SQL_HANDLE_ENV, henv);return 0; }
http://www.dnsts.com.cn/news/174008.html

相关文章:

  • 商务网站模块设计时前台基础设施建设wordpress 设置文章模板
  • 婚纱网站html源码网站网页开发公司
  • 搞网站开发的程序员属于哪一类太平洋电脑网官方网站
  • 丰泽区住房和城乡建设局投诉网站天津住建网
  • 东莞网站快速排名优化网页界面设计是什么
  • 怎么做网站自动响应苏州专业做网站公司哪家好
  • 邳州网站制作杨浦网站建设 网站外包
  • muse cc 做网站秦皇岛网络科技有限公司
  • 上海建设工程造价网站茶叶外贸网站建设
  • 网站建设工资一月多少钱为什么要做网站
  • 找人代做网站注意事项开发者模式打开好还是关闭好
  • php做的一个网站西安百度竞价外包
  • 营销型的网站江苏建设人才网证书查询电子证书
  • 成都网站建设优点wordpress 模型开发
  • 个人网站可以做淘宝客前端旅游网站行程怎么做
  • 教育响应式网站建设大型网络规划与设计
  • 合肥网站建合肥网站建设找蓝领商务wordpress调用代码怎么用
  • 成都网站建设公司司网站关键词锚文本指向
  • 网站定制解决方案cmsapp模板网站
  • 辽宁智能建站系统价格手机网站 标题长度
  • 泰和县网站免费建站怎么做宣传网页
  • 简约淘宝网站模板免费下载福田区网络建设
  • 龙岗做网站公司icxun那里有制作网站公司
  • wordpress打开网站打不开电商购物平台软件开发
  • 宝安高端网站建设公司网站内链建设方法
  • 张家界建设网站的公司怎么建设一个自己的电商网站
  • 一站式推广平台怎么访问wordpress
  • 千牛商家版网站建设上海企业服务云电话
  • 天津响应式网站设计百度不更新网站
  • 做慧聪网价格网站价格小程序定制开发公司哪家好