1 / 12

实验 4- 点评

实验 4- 点评. 2005-12-9. 总评. 关于上机实践,大多数同学都很认真 编写高级程序的能力 联机帮助解决问题的能力 关于实验报告 程序文档格式不规范 拷贝了很多联机帮助的内容 对实验思考的分析不够 关于知识点的掌握 基本上达到了要求 通过 cursor 更新数据. 嵌入式 SQL. 初始化预编译环境 Setenv.bat 初始化编译环境 Vcvars32.bat 预编译 (pre-compile) Nsqlprep.exe 编译 (compile) 连接 link(build) 运行 run. 另一种预编译方法.

vian
Download Presentation

实验 4- 点评

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 实验4-点评 2005-12-9

  2. 总评 • 关于上机实践,大多数同学都很认真 • 编写高级程序的能力 • 联机帮助解决问题的能力 • 关于实验报告 • 程序文档格式不规范 • 拷贝了很多联机帮助的内容 • 对实验思考的分析不够 • 关于知识点的掌握 • 基本上达到了要求 • 通过cursor更新数据

  3. 嵌入式SQL • 初始化预编译环境 • Setenv.bat • 初始化编译环境 • Vcvars32.bat • 预编译(pre-compile) • Nsqlprep.exe • 编译(compile) • 连接link(build) • 运行run

  4. 另一种预编译方法

  5. 嵌入式SQL程序结构 • 连接DBMS: • EXEC SQL CONNECT TODBMSName.DBName USER usr.passwd; • 读取数据和操作数据: • 以EXEC SQL开头标识SQL语句 • 通过高级程序语言来控制程序流程 • 断开连接DBMS • EXEC SQL DISCONNECT ALL

  6. 嵌入式SQL中常用的数据结构 • SQLCODE • SQLCODE = sqlca->sqlcode; • Sqlca • externstruct tag_sqlca farsql_sqlca; • externstruct tag_sqlca far *sqlca;

  7. 嵌入式SQL中常用的数据结构

  8. ODBC的使用 • 申请句柄,建立连接: • SQLAllocHandle(HandleType,InputHandle,OutputHandlePtr); • SQLAllocHandle (SQL_HANDLE_ENV, NULL, &henv); • SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc1); • SQLAllocHandle(SQL_HANDLE_STMT, hdbc1, &hstmt1) • 要求先连接到DBMS • 断开连接,释放句柄: • SQLFreeHandle( HandleType, Handle); • SQLFreeHandle(SQL_HANDLE_STMT, hstmt1); • SQLDisconnect(hdbc1); • SQLFreeHandle(SQL_HANDLE_DBC, hdbc1); • SQLFreeHandle(SQL_HANDLE_ENV, henv);

  9. 通过ODBC访问数据库的主要步骤 • 申请环境句柄:SQL_HANDLE_ENV • 申请连接句柄:SQL_HANDLE_DBC • 在申请连接句柄前,最好先设置环境句柄所用的ODBC参数 • 建立连接 • SQLConnect • 申请语句句柄:SQL_HANDLE_STMT • 执行SQL操作,读取数据 • SQLExecDirect • SQLFetch • SQLBindCol / SQLGetData • 释放资源 • 与资源申请相对应

  10. 操作数据 • 执行SQL语句: • SQLExecDirect • 数据放在系统空间的缓冲区中 • 读取数据 • SQLFetch • 把部分数据从系统空间的缓冲区copy到用户空间的StateMent句柄的缓冲区 • SQLBindCol( ..,ColumnNumber,..,TargetValuePtr,BufferLength , StrLen ); • TargetValuePtr指向的缓冲区何时更新?? • SQLGetData(.., ColumnNumber, ..,TargetValuePtr,BufferLength, StrLen); • 到StateMent句柄中读取数据 • 当目标数据数据很大时,可以多次读取

  11. Fetch From Cursor • EXEC SQL Fetch [ NEXT | PRIOR | FIRST | LAST] From cursorName INTO VarName • SQLFetchScroll(StatementHandle, FetchOrientation, FetchOffset);

  12. 总结 • 不要把实验当作负担来应付 • 提高实践动手能力 • 书写高质量的程序文档 • 实验之星: • 黄伟 田超 • 曹玉瑾 周艳红

More Related