
Java语言程序设计第八讲 Java数据库连接JDBC) AVA
Java语言程序设计第八讲 Java数据库连接(JDBC)

教学内容 急 ·创建数据源 ■JDBC-ODBC桥接器 顺序查询 ·可滚动结果集 ·排序查询 ·模糊查询 ·随机查询 ·更新、添加、删除记录 ■数据库访问中的套接字技术
教学内容 ◼ 创建数据源 ◼ JDBC-ODBC桥接器 ◼ 顺序查询 ◼ 可滚动结果集 ◼ 排序查询 ◼ 模糊查询 ◼ 随机查询 ◼ 更新、添加、删除记录 ◼ 数据库访问中的套接字技术

JDBC JAVA ■JDBC(Java DataBase Connection)是Java 数据库连接API。简单地说,JDBC能完成3件 事: ·与一个数据库建立连接; ·向数据库发送SQL语句: 。处理数据库返回的结果
JDBC ◼ JDBC(Java DataBase Connection)是Java 数据库连接API。简单地说,JDBC能完成3件 事: ⚫ 与一个数据库建立连接; ⚫ 向数据库发送SQL语句; ⚫ 处理数据库返回的结果

创建数据源 IAVA ·为了同数据库建立连接,首先要创建一个ODBC数据 源。打开Vindows中的控制面,对于VindowXP,选 择“性能和维护”→“管理工具”→“数据源 (ODBC)”;对于Vindow2000,选择“管理工 具”→“数据源(ODBC)”;对于indows9X,选 择“数据源(ODBC)”。也可以使用“资源管理器” 双击c:\windows\system:32下的可执行文件 “odbcad32”打开“数据源(ODBC)
创建数据源 ◼ 为了同数据库建立连接,首先要创建一个ODBC数据 源。打开Windows中的控制面,对于WindowXP,选 择“性能和维护”→“管理工具”→“数据源 (ODBC)” ;对于Window2000,选择“管理工 具”→“数据源(ODBC)”;对于Window9X,选 择 “数据源(ODBC)”。也可以使用“资源管理器” 双击c:\windows\system32下的可执行文件 “odbcad32”打开“数据源(ODBC)

建立数据源的步骤 IAVA ■打开“数据源(ODBC)”将出现ODBC数据源管理 器对话框 ■在ODBC数据源管理器对话框中选择“用户DSN”, 然后单击“添加”按钮,将出现安装数据源的驱动程 序对话框,可以在选择列表中选择相应的驱动程序。 。在选择驱动程序对话框选择好驱动程序后,单击“完 成”按钮,将出现创建数据源对话框。在该对话框中 你需要为创建的数据源起一个名称,并为你创建的数 据源选择二个数疟岸
建立数据源的步骤 ◼ 打开“数据源(ODBC)”将出现ODBC数据源管理 器对话框 ◼ 在ODBC数据源管理器对话框中选择“用户DSN”, 然后单击“添加”按钮,将出现安装数据源的驱动程 序对话框,可以在选择列表中选择相应的驱动程序。 ◼ 在选择驱动程序对话框选择好驱动程序后,单击“完 成”按钮,将出现创建数据源对话框。在该对话框中, 你需要为创建的数据源起一个名称,并为你创建的数 据源选择一个数据库

JDBC-ODBC桥接器 JAVA ■为了要连接到这个数据库,我们首先要建立一个JDBC ODBC桥接器: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); ■连接到数据库 Connection con=DriverManager.getConnection (們jdbc:odbc:数据源名字","login name","password"); ■发送SQL语句 Statement sql=con.createStatement(); ·处理查询结果 ResultSet rs=sql.executeQuery(“SQL语句");
JDBC-ODBC桥接器 ◼ 为了要连接到这个数据库,我们首先要建立一个JDBCODBC桥接器: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); ◼ 连接到数据库 Connection con=DriverManager.getConnection ("jdbc:odbc:数据源名字","login name"," password "); ◼ 发送SQL语句 Statement sql=con.createStatement(); ◼ 处理查询结果 ResultSet rs=sql.executeQuery (“SQL语句");

顺序查询 IAVA ■使用结果集Result的next()方法,可以顺序 的查询。一个结果集将游标最初定位在第一 行的前面,第一次调用next0方法使游标移 动到第一行。net0方法返回一个boolean2型 数据,当游标移动到最后一行之后返回false
顺序查询 ◼ 使用结果集Result的next()方法,可以顺序 的查询。一个结果集将游标最初定位在第一 行的前面,第一次调用next()方法使游标移 动到第一行。next()方法返回一个boolean型 数据,当游标移动到最后一行之后返回false

可滚动结果集 ·为了得到一个可滚动的结果集,必须使用下述 方法先获得一个Statement>对象: Statement stmt=con.createStatement (int type int concurrency); ■然后,根据参数的type、concurrencyl的取值 情况,stmt返回相应类型的结果集: ResultSet re=stmt.executeQuery(SQL语句);
可滚动结果集 ◼ 为了得到一个可滚动的结果集,必须使用下述 方法先获得一个Statement对象: Statement stmt=con.createStatement (int type ,int concurrency); ◼ 然后,根据参数的type、concurrency的取值 情况,stmt返回相应类型的结果集: ResultSet re=stmt.executeQuery(SQL语句);

type的取值决定滚动方式,取值情况如下: IAVA ■ResultSet.TYPE FORWORD ONLY:结果集的游 标只能向下滚动。 ·ResultSet..TYPE SCROLL INSENSITIVE:结果集 的游标可以上下移动,当数据库变化时,当前结果 集不变。 ■ResultSet.TYPE SCROLL SENSITIVE:返回可滚 动的结果集,当数据库变化时,当前结果集同步改 变
type的取值决定滚动方式,取值情况如下: ◼ ResultSet.TYPE_FORWORD_ONLY :结果集的游 标只能向下滚动。 ◼ ResultSet.TYPE_SCROLL_INSENSITIVE :结果集 的游标可以上下移动,当数据库变化时,当前结果 集不变。 ◼ ResultSet.TYPE_SCROLL_SENSITIVE :返回可滚 动的结果集,当数据库变化时,当前结果集同步改 变

Concurrency 取值决定是否可以用结果集更新数据库: IAVA ■ResultSet..CONCUR READ ONLY:不能用结果集更新 数据库中的表。 ■ResultSet..CONCUR UPDATETABLE:能用结果集更新 数据库中的表
Concurrency 取值决定是否可以用结果集更新数据库: ◼ ResultSet.CONCUR_READ_ONLY:不能用结果集更新 数据库中的表。 ◼ ResultSet.CONCUR_UPDATETABLE:能用结果集更新 数据库中的表