广东海洋大学数据库实验六

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六访问数据库

一、实验目的

1、熟悉通过嵌入式SQL(主语言为C++语言)编程访问数据库,及掌握游

标的使用方法

2、熟悉通过ODBC接口访问异构数据库并对异构数据库进行操作

3、学会配置ODBC数据源

4、学会各种数据库的访问方法

二、实验要求

1、编写一个嵌入式C++程序,实现对SQL Server 2005数据库中的“学生课

程数据库”的Student 表中的年龄进行更新,即系统每输出一个学生记录,询问用户是否更新。如果要更新,就输入新的年龄。要求:提交源程序并标识必要的注释。

源代码:

#include

void main( )

{

int count = 0;

char yn; /*变量yn代表yes或no*/

EXEC SQL BEGIN DECLARE SECTION; /*主变量定义区*/

char deptname[64];

char HSno[64];

char HSname[64];

char HSsex[64];

int HSage;

int NEWAGE;

EXEC SQL END DECLARE SECTION; /*主变量说明结束*/

EXEC SQL INCLUDE sqlca; /*定义SQL通信区*/

cout<<"Please choose the department name(CS/MA/IS):\n ";

cin>>deptname; /*为主变量deptname赋值*/

EXEC SQL CONNECT TO TEST@localhost:54321 USER "SYSTEM"

/"MANAGER";

/*连接“学生-课程数据库”,这里假设该数据库为TEST*/ EXEC SQL DECLARE SX CURSOR FOR /*定义游标*/

SELECT Sno, Sname, Ssex, Sage /*SX对应语句的执行结果*/

FROM Student

WHERE SDept = :deptname;

EXEC SQL OPEN SX; /*打开游标SX便指向查询结果的第一行*/

for ( ; ; ) /*用循环结构逐条处理结果集中的记录*/ {

EXEC SQL FETCH SX INTO :HSno, :HSname, :HSsex,:HSage;

/*推进游标,将当前数据放入主变量*/

if (sqlca.sqlcode != 0) /* sqlcode != 0,表示操作不成功*/

break; /*利用SQLCA中的状态信息决定何时退出循环*/ if(count++ == 0) /*如果是第一行的话,先输出行头标题*/ cout<< "Sno "<< "Sname "<< "Ssex "<< "Sage";

cout<< HSno<< " "<< HSname<< " "<< HSsex<< "

"<< HSage);

cout<<"UPDATE AGE(y/n)?"; /*询问用户是否要更新该学生的年龄*/ do {

cin>>yn;

} while(yn != 'N' && yn != 'n' && yn != 'Y' && yn != 'y');

if (yn == 'y' || yn == 'Y') /*如果选择更新操作*/

{

cout<<“INPUT NEW AGE:”; /*提示用户该学生的新年龄*/

cin>>NEWAGE; /*用户输入新年龄到主变量中*/

EXEC SQL UPDATE Student /*嵌入式SQL*/

SET Sage = :NEWAGE

WHERE CURRENT OF SX ;

} /*对当前游标指向的学生年龄进行更新*/

}

EXEC SQL CLOSE SX; /*关闭游标SX不再和查询结果对应*/ EXEC SQL COMMIT WORK; /*提交更新*/ EXEC SQL DISCONNECT TEST; /*断开数据库连接*/

}

2、查有关C++、Java、C#中有关资料,分别写出C++、Java、C#访问 SQL Server

2005数据库数据的方法及步骤。(只写你学的那门语言即可)

Java访问sql sever数据库的方法:

通过JDBC访问

JDBC连接SQL Server2005数据库的步骤:

1.关闭防火墙。

2.配置TCP端口:

a.开始->所有程序->Microsoft SQL Server2005->配置工具->SQL Server配置

管理器->SQL Server2005网络配置->MSSQLSERVER协议

b.启用―TCP/IP‖(右键单击选择―启动‖)[]

c.双击―TCP/IP‖->―IP地址‖->―IPAll‖->―TCP端口‖项添加默认的―

1433‖端口

3.外围应用配置:Microsoft SQL Server2005->配置工具->SQL Server外围应

用配置器->服务和连接的外围应用配置器->

①选SQLEXPRESS->Database Engine->远程连接->本地连接和远程连接->同时

使用TCP/IP和named pipes

②选SQL Server Browser->服务->启动类型改为―自动‖->应用->启动->确定

4.修改默认的登录验证模式(如果在安装过程中是默认按―Windows身份验证

模式‖方式安装,所以sa登录是被禁用的,即使将身份验证模式更改为―SQL Server和Windows身份验证模式‖,sa登录仍处于禁用状态,所以需要启用sa登录帐户):

①在SQL Server Management Studio的对象资源管理器中,安全性->登录名->

右击―sa‖->属性->

常规->将登录名sa的密码和确认密码设为强密码->状态->登录->启用->确定

②在SQL Server Management Studio的对象资源管理器中,右击服务器->属性->

安全性->服务器身份验证->选择―SQL Server和Windows身份验证模式‖->确定->确定

5.在SQL Server Management Studio中新建一个数据库(例如―mytest‖,如果

测试程序带有数据库文件也可不用新建而直接附加到当前SQL Server数据库服务器);在SQL Server Management Studio的对象资源管理器中右击服务器->重新启动->是

6.运行下载的JDBC文件―sqljdbc_1.2.2828.100_chs.exe‖,解压到―

相关文档
最新文档