文档介绍:<数据库系统概论》实验报告
题目:ODBC 与 JDBC
姓名:姚登波
日期:20140506
实验环境:SQL Server 2008、ODBC Driver、 Microsoft Visual Studio、Eclipse
试验内容与完成情况:
内容:要求配置数据源,编写可运行程序查询Student的数据。 并认真填写实验报告,提交源程序,保证可正确编译和运行。
实验完成情况:
编写C程序,读取Student表中的数据,在控制台中输出
#include <>
#include <>
#include <>
#include <>
#include <>
#include <>
#define SNO_LEN 30
#define NAME_LEN 30
#define SSEX_LEN 5
#define SDEPT_LEN 30
int main()
{
/*Step1 定义句柄和变量*/
SQLHENV henv; //环境句柄
SQLHDBC hdbc; //连接句柄
SQLHSTMT hstmt; //语句句柄
SQLRETURN ret; //结果返回集
SQLCHAR sSno[SNO_LEN],sName[NAME_LEN],sSex[SSEX_LEN],sDept[SDEPT_LEN];
SQLINTEGER sAge;
SQLINTEGER cbSno = SQL_NTS ,cbName = SQL_NTS ,cbSex = SQL_NTS ,cbDept = SQL_NTS ,cbAge = 0;
/*Step2 初始化环境*/
//分配环境句柄
ret = SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);
//设置管理环境的属性
ret = SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0);
/*Step3 建立连接*/
//分配连接句柄
ret = SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);
ret = SQLConnect(hdbc,
(SQLCHAR*)"SQLServer2008R2_ODBC",SQL_NTS,//数据源名为"SQLServer2008R2_ODBC"
(SQLCHAR*)"sa",SQL_NTS,//用户名为空
(SQLCHAR*)"123456",SQL_NTS); //输入密码123456
if(!EEDED(ret)) //连接失败时返回错误值
return -1;
/*Step4 初始化语句句柄*/
ret = SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt);
/*Step5 执行语句*/
ret = SQLExecDirect(hstmt,(SQLCHAR*)"SELECT * FROM Student",SQL_NTS