/*
异常处理:
1、捕获异常:try...catch...finally
2、抛出异常:throw 异常类对象
3、在方法名的后面用 throws 异常类
*/
/*
Java连接数据库(JDBC):
1、ODBC
2、JDBC
*/
/*
Java中操作数据库的几个步骤:
1、注册驱动程序:
Class.forName("驱动程序名称或包括路径");
2、创建连接对象:
DriverManage.getConnection("数据源",用户名,密码);
3、创建Statement对象(执行操作的对象)
连接对象.createStatement()
4、利用Statement对象操作数据库:
更新数据库(插入、删除、修改): Statement对象.executeUpate(sql语句)
查找数据库: Statement对象.executeQuery(sql语句);
5、返回一个结果集对象(ResultSet)
6、关闭连接
*/
//操作数据库要导入一个包 java.sql.*
/*插入:
import java.sql.*;
class A{
public static void main(String[] args){
//注册驱动程序
Connection con = null;
Statement st = null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){
System.out.println("驱动错了");
}
try{
//创建Connection连接对象
con = DriverManager.getConnection("jdbc:odbc:myodbc");
String sql = "insert into score values(001,'黎明',23.3,12.2)";
//创建Statement对象
st = con.createStatement();
//执行插入语句.下面的executeUpdate方法返回一个int类型数据表示影响的行数
int i = st.executeUpdate(sql);
System.out.println("插入了" + i + "行");
st.close();
con.close();//关闭连接
}catch(Exception e){
System.out.println("连接错误");
}
}
}
*/
/**删除
import java.sql.*;
class A{
public static void main(String[] args){
//注册驱动程序
Connection con = null;
Statement st = null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){
System.out.println("驱动错了");
}
try{
//创建Connection连接对象
con = DriverManager.getConnection("jdbc:odbc:myodbc");
String sql = "delete * from score where number=001";
//创建Statement对象
st = con.createStatement();
//执行插入语句.下面的executeUpdate方法返回一个int类型数据表示影响的行数
int i = st.executeUpdate(sql);
System.out.println("删除了" + i + "行");
st.close();
con.close();//关闭连接
}catch(Exception e){
System.out.println("连接错误");
}
}
}
*/
/*更新
import java.sql.*;
class A{
public static void main(String[] args){
//注册驱动程序
Connection con = null;
Statement st = null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){
System.out.println("驱动错了");
}
try{
//创建Connection连接对象
con = DriverManager.getConnection("jdbc:odbc:myodbc");
String sql = "update score set name='刘的话' where number=002";
//创建Statement对象
st = con.createStatement();
//执行插入语句.下面的executeUpdate方法返回一个int类型数据表示影响的行数
int i = st.executeUpdate(sql);
System.out.println("更新了" + i + "行");
st.close();
con.close();//关闭连接
}catch(Exception e){
System.out.println("连接错误");
}
}
}
*/
import java.sql.*;
class A{
public static void main(String[] args)throws ClassNotFoundException,SQLException{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:myodbc");
Statement st = con.createStatement();
String sql = "select * from score";
//执行查询将返回一个结果集ResultSet对象
ResultSet rs = st.executeQuery(sql);
//利用ResultSet对象的next方法来遍历记录,每循环一次得到一条记录
while(rs.next()){//
int num = rs.getInt(1);//得到第一个字段值,利用getInt来返回的int数据类型
String name = rs.getString(2);//利用getString来返回的String数据类型
int math = rs.getInt(3);
int english = rs.getInt(4);
System.out.println("学号:" + num);
System.out.println("姓名:" + name);
System.out.println("数学:" + math);
System.out.println("英语:" + english);
}
rs.close();//关闭结果集
st.close();
con.close();
}
}