java实例化数据库 java数据库实验_SQL

实验七java与数据库的连接.doc

嘉应学院计算机学院一、实验目的通过实验,掌握程序设计语言(JAVA)通过JDBC\ODBC与SQLSERVER数据库的连接方法。二、实验原理程序设计语言与数据库连接对于信息系统的开发是非常重要的,程序设计语言可以嵌入SQL语句实现对数据库的操作。开发工具J2SDK1、JAVA编程的基本方法(1)将下列代码编辑为HELLOJAVA文件PUBLICCLASSHELLO{PUBLICSTATICVOIDMAINSTRINGARGS{SYSTEMOUTPRINTLN“HELLO,ANYBODY“}}(2)编译程序JAVACHELLOJAVA3执行程序JAVAHELLO显示其结果为2JAVA与数据库连接的途径(1)通过JDBCODBC桥连接(2)通过JDBC连接应用JDBC的7个基本步骤1加载驱动2定义连接URL3建立连接4创建声明对象5执行查询6处理查询结果7关闭连接JDBC的接口和类(1)CONNECTION,用于一个特定的数据库连接。(2)PREPAREDSTATEMENT,用于执行带或不带参数的预编译SQL语句。(3)RESULTSET,当执行SQL语句后的返回结果集。4STAEMENT对象用于将SQL语句发送到数据库中。CUTEQUERYSTRINGSQLCUTEUPDATESTRINGSQLCUTESTRINGSQLCLOSE等。(5)DRIVERMANAGER调用方法CLASSFORNAME//加载DRIVER建立连接DRIVERMANAGERGETCONNECTION三、实验内容和方法1、通过JDBCODBC桥连接SQLSERVER(1)建立ODBC系统DSNSCHOOL_DSN打开计算机的ODBC数据源在运行中输入ODBCAD32或者从控制面板进入选择系统DSN添加新的DSN接下来输入选择数据库类型(SQLSERVER、输入DSN名SCHOOL_DSN、选择服务器LOCAL、连接数据库的方式、输入数据库的登陆用户和密码,更改默认数据库为SCHOOL测试连接,如果测试成功的话,那么你的DSN就建立好了。(2)编辑下列程序,文件名为JDBCODBCJAVA该程序是执行SQL语句SELECTFROMSTUDENT(查询学生表的所有记录)(3)编译程序JAVAC与执行程序JAVA并观察输出结果将程序运行的结果与在查询分析器中执行SELECTFROMSTUDENT后的结果进行对比。由上述两图相比运行后的结果完全相同。2、通过JDBC连接SQLSERVER(1)配置JDBC驱动SQLSERVER2000的JDBC驱动需要打补丁SP3(本实验不做)实验采用SQLSERVER2005执行SQLJDBC_122828100_CHS将解压文件,将解压后的文件夹SQLJDBC_12复制到CPROGRAMFILE中设置CLASSPATH在CLASSPATH中增加C\PROGRAMFILES\SQLJDBC_12\CHS\SQLJDBCJAR(2)注意SQLSERVER2000与SQLSERVER2005JDBC调用差异并与JDBCODBC桥的差异对于SQLSERVER2000CLASSFORNAME“COMMICROSOFTJDBCSQLSERVERSQLSERVERDRIVER“DRIVERMANAGERGETCONNECTION“JDBCMICROSOFTSQLSERVER//LOCALHOST1433DATABASENAME数据库名“,“数据库登录名“,“登录密码“对于SQLSERVER2005CLASSFORNAME“COMMICROSOFTSQLSERVERJDBCSQLSERVERDRIVER“DRIVERMANAGERGETCONNECTION“JDBCSQLSERVER//LOCALHOST1433DATABASENAME数据库名“,“数据库登录名“,“登录密码“兼容的JDBC驱动CLASSFORNAME“COMMICROSOFTSQLSERVERJDBCSQLSERVERDRIVER“STRINGCONNECTIONURL“JDBCSQLSERVER//LOCALHOST1433““DATABASENAMEADVENTUREWORKSUSERUSERNAMEPASSWORD“JDBCODBC桥CLASSFORNAME“SUNJDBCODBCJDBCODBCDRIVER“CONNECTIONCDRIVERMANAGERGETCONNECTION“JDBCODBCDSN名“,“SA“,““//用户名为SA,密码为空IMPORTJAVASQLPUBLICCLASSUSEJDBC{PUBLICSTATICVOIDMAINSTRINGARGSTHROWSSQLEXCEPTION,CLASSNOTFOUNDEXCEPTION{//SQLSERVER2005CLASSFORNAME“COMMICROSOFTSQLSERVERJDBCSQLSERVERDRIVER“//加载JDBC驱动CONNECTIONCDRIVERMANAGERGETCONNECTION“JDBCSQLSERVER//LOCALHOST1433DATABASENAMESCHOOL“,“SA“,““//连接到数据库//声明一个STATEMENT对象STATEMENTSCCREATESTATEMENT//从STUDENT数据库中查询到记录集RESULTSETRSCUTEQUERY“SELECTFROMSTUDENT“WHILERNEXT{SYSTEMOUTPRINTLNRGETSTRING“SNO““,“RGETSTRING“SNAME““,“RGETSTRING“SSEX““,“RGETSTRING“SAGE“}//关闭S和CSCLOSECCLOSE}}3带参数传递到查询、更新语句IMPORTJAVASQLPUBLICCLASSUSEJDBC2{PUBLICSTATICVOIDMAINSTRINGARGSTHROWSSQLEXCEPTION,CLASSNOTFOUNDEXCEPTION{//输入的参数STRINGDEPT“CS“//参数为CSSTRINGCOURSENAME“数据库“//参数为数据库//采用键盘输入//STRINGDEPTARGS0//STRINGCOURSENAMEARGS1//JAVAUSEJDBC2CS数据库//设置的驱动CLASSFORNAME“COMMICROSOFTSQLSERVERJDBCSQLSERVERDRIVER“//驱动//连接数据库CONNECTIONCDRIVERMANAGERGETCONNECTION“JDBCSQLSERVER//LOCALHOST1433DATABASENAMESCHOOL“,“SA“,““//声明一个STATEMENT对象STATEMENTSCCREATESTATEMENT//注意字符串的连接,参数表示 “参数“ //将参数传递到SQL的查询语句STRINGS_SQL“SELECTSNAME,CNAME,GRADEFROMSTUDENT,SC,COURSEWHERE““STUDENTSNOSCSNOANDCOURSECNOSCCNOAND