您的位置:

java利用odbc(Java利用尾插法建立单链表)

本文目录一览:

java中ODBC数据库技术

知道JDBC就没有必要知道ODBC了,ODBC无非是比JDBC多了一个中间桥梁,就是数据源,JDBC是直接连接数据库,比ODBC性能高很多。

SQL语句其实都一样,就是连接数据库的方式不一样。

不同的就是java.sql.Connection对象的获得方式

JDBC:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

conn

=

DriverManager.getConnection("jdbc:sqlserver://localhost:1433;database=数据库名称","用户名","密码");//需要微软提供的jdbc架包

ODBC:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

conn

=

DriverManager.getConnection("jdbc:odbc:数据源名称");

注意ODBC需要在系统的管理工具中配置和上面“数据源名称”名称相同的数据源,其他操作都一样

如何用Java通过ODBC连接MySQL

/**

* 构造方法

*

* @param dbHost

* 域名

* @param dbPort

* 端口

* @param dbName

* 名称

* @param userName

* 用户名

* @param userPwd

* 用户密码

*/

public iMysql(String dbHost, String dbPort, String dbName, String userName, String userPwd) {

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (Exception e) {

e.printStackTrace();

}

try {

_connection = DriverManager.getConnection("jdbc:mysql://IP地址:端口/数据库名称", userName, userPwd);

_statement = (Statement) _connection.createStatement();

} catch (SQLException e) {

e.printStackTrace();

}

}

怎样JAVA通过JDBC-ODBC桥访问数据源,配置数据源

导入java.sql包

一、加载要连接数据库的驱动程序

//Jdbc-Odbc桥 和 Microsoft Access 数据库

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

// SQL Server 驱动程序:

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

注:Class.forName()方法将给定的类加载到JVM,如果系统中不存在给定的类,则会引发异常

二、通过驱动程序管理器得到连接实例

Connection conn=null;

//1.

//1.1建立数据源

conn=DriverManager.getConnection("jdbc:odbc:MyDataSource"); //MyDataSource是数据源名称

//1-2、不建立数据源

conn=DriverManager.getConnection("jdbc:odbc:;Driver=Microsoft Access Driver (*.mdb);DBQ=C:\\VBTest.mdb");

//2.SQL Server

conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=mydb","sa","");

注:DriverManager类跟踪已注册的驱动程序,通过getConnection(URL)方法, 找到一个能够连接至URL中指定的数据库驱动程序

它接收三个参数, 分别表示1 数据源的名称、类型 2 用户名(可选) 3 密码(可选)

三、基于连接对象建立处理器对象

Statement stmt=conn.createStatement();

四、准备sql命令

String sql="select * from Student";

五、执行命令返回结果集

ResultSet rs=stmt.executeQuery(sql);

六、显示结果集

while(rs.next())//只要后面有记录

{

//对当前行的所有字段遍历

for(int i=1;i=rs.getMetaData().getColumnCount();i++)

{

System.out.print(rs.getMetaData().getColumnName(i)+": ");//显示字段名

System.out.println(rs.getString(i));//显示字段当前值

}

System.out.println();

}

七、关闭资源

rs.close(); //关闭记录集

stmt.close(); //关闭处理器对象

conn.close(); //关闭连接对象

预处理器的应用:

//3.基于连接对象建立预处理器对象

PreparedStatement pstmt=conn.prepareStatement("insert into student values(?,?,?,?)");

//4.给预处理对象的参数赋值

pstmt.setString(1,"8888");

pstmt.setString(2,"nemo");

pstmt.setString(3,"accp");

pstmt.setString(4,"sanxianglu");

//5.执行预处理命令

int i=pstmt.executeUpdate();

System.out.println(i+"条记录已成功插入!");