以下介绍的是用ODBC方式连接SQL数据库
一.创建ODBC数据源
找到"数据源(ODBC)",并打开它-----选择"系统DSN"-----添加-----选择"SQL Server"-----数据源名称:为数据源起名;说明:可省略;服务器:选择所要连接的数据库所在的SQL Server服务器名-----选择"使用用户登陆ID和......",并在其中输入用户名和密码(该用户名和密码必须和SQL中的对应)-----选择"更改默认数据库":在其中选择SQL Server中的某个数据库(该数据库中必须有你要操作的表)-----测试-----如果测试成功,表示该数据源已创建成功
二.建立JDBC-ODBC桥接器
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
System.out.println(e.toString);
}
三.连接数据库
try{
Connection con=DriverManager.getConnection("jdbc:odbc:数据源名","SQL用户名","SQL密码");
}
catch(SQLException e)
{
System.out.println(e.toString);
}
Connection类:该类在java.sql包中
四.向数据库发送SQL语句
try{
Statement sql=con.createStatement(int type,int concurrency);
}
catch(SQLException e)
{
System.out.println(e.toString);
}
Statement类:该类在包java.sql中,其中参数type和concurrency含义如下
type:决定游标的滚动方式以及数据库的变化对当前结果集的影响,取值如下
ResultSet.TYPE_FORWORD_ONLY:结果集的游标只能向下滚动
ResultSet.TYPE_SCROLL_INSENSITIVE:结果集的游标可以上下移动,当数据库变化时,当前结果集不变
ResultSet.TYPE_SCROLL_SENSITIVE:结果集的游标可以上下移动,当数据库变化时,当前结果集也改变
concurrency:决定是否可以用结果集更新数据库,取值如下
ResultSet.CONCUR_READ_ONLY:不能用结果集更新数据库中的表
ResultSet.CONCUR_UPDATETABLE:能用结果集更新数据库中的表
注意:type和concurrency参数可有可无
五.执行SQL语句
1.执行查询语句或统计语句返回的结果集
try{
ResultSet rs=sql.executeQuery("SQL查询或统计语句");
}
catch(SQLException e)
{
System.out.println(e.toString);
}
ResultSet类:该类在包java.sql中,常用方法如下
boolean next():将游标向下移动,当移到结果集最后一行之后时返回false
boolean previous():将游标向上移动,当移到结果集第一行之前时返回false
void beforeFirst():将游标移到第一行之前
void afterLast():将游标移到最后一行之后
void first():将游标移到结果集的第一行
void last():将游标移到结果集的最后一行
boolean isAfterLast():判断游标是否在最后一行之后
boolean isBeforeFirst():判断游标是否在第一行之前
boolean isFirst():判断游标是否在第一行
boolean isLast():判断游标是否在最后一行
int gerRow():得到当前游标所指行的行号,行号从1开始,如果结果集没有行,返回0
boolean absolute(int row):将游标移到参数row指定的行号;如果row取负值,表示倒数的行数
int getInt(int n):取得当前行中第n列的整数的值,n从1开始
int getInt(String s):取得当前行中列名为s的整数的值
String getString(int n):取得当前行中第n列的字符串的值
String getString(String s):取得当前行中列名为s的字符串的值
long getLong(int n):.......
long getLong(String s):.......
byte getByte(int n):.......
byte getByte(String s):.......
Date getDate(int n):.......
Date getDate(String s):.......
float getFloat(int n)):.......
float getFloat(String s)):.......
double getDouble(int n)):.......
double getDouble(String s)):.......
2.执行添加,修改,删除语句返回表中受影响的行数
try{
int n=sql.executeUpdate("SQL的添加,修改,删除语句");
}
catch(SQLException e)
{
System.out.println(e.toString);
}