天天看點

02-Access JDBC(增删改查)

增加

/**
		 * 增加
		 */
		try {
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			Connection con = DriverManager
					.getConnection("jdbc:odbc:mydatasource");

			String sql = "insert into student(id,names)values(?,?)";
			PreparedStatement prep = con.prepareStatement(sql);
			prep.setObject(1, 2);
			prep.setObject(2, "賀某某");
			int count = prep.executeUpdate();
			if (count > 0) {
				System.out.println("添加成功~");
			}
			prep.close();
			con.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
           

删除

/**
		 * 删除
		 */

		try {
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			// 得到資料庫的連接配接
			Connection con = DriverManager
					.getConnection("jdbc:odbc:mydatasource");
			// 定義影響行數變量
			int count = 0;
			String sql = "delete from student where id=?";
			// 建立執行對象
			PreparedStatement prep = con.prepareStatement(sql);
			// 設定占位符的參數值
			prep.setObject(1, 2);
			// 執行獲得影響的行數值
			count = prep.executeUpdate();
			// 關閉資源
			prep.close();
			con.close();
			if (count > 0) {
				System.out.println("删除成功!");
			}
		} catch (Exception ex) {
			ex.printStackTrace();
		}
           

修改

/**
		 * 修改
		 */
		try {
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			Connection con = DriverManager
					.getConnection("jdbc:odbc:mydatasource");
			String sql = "update student set names=? where id=?";
			PreparedStatement prep = con.prepareStatement(sql);
			prep.setObject(1, "劉丹");
			prep.setObject(2, 2);
			int count = prep.executeUpdate();
			if (count > 0) {
				System.out.println("更新成功!");
			}
			prep.close();
			con.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
           

查詢所有

/**
		 * 查詢所有
		 */
		try {
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			Connection con = DriverManager
					.getConnection("jdbc:odbc:mydatasource");
			String sql = "select * from student";
			PreparedStatement prep = con.prepareStatement(sql);
			ResultSet rs = prep.executeQuery();
			while (rs.next()) {
				System.out.print(rs.getInt(1) + "  ");
				System.out.println(rs.getString(2));
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
           

根據ID查詢

/**
		 * 根據Id查詢
		 */
		try {
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			Connection con = DriverManager
					.getConnection("jdbc:odbc:mydatasource");
			String sql = "select * from student where id=?";
			PreparedStatement prep = con.prepareStatement(sql);
			prep.setInt(1, 2);
			ResultSet rs = prep.executeQuery();
			while (rs.next()) {
				System.out.println(rs.getString(2));
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
           

代碼使用方法:

1.以上代碼在java項目中的main方法中直接運作即可。

2.不用加jar包。需要在Access中建立資料源(上篇部落格中有建立資料源的方法)

3.采用的是建立DSN(原名:Data Source Name  中文名:資料源名稱)

4.本文的資料源名稱是(mydatasource)

5.詳細注釋請看删除

建立表(Access中建立):

02-Access JDBC(增删改查)

Access資料庫的增删改查和Oracle,Mysql的差別

1.驅動不同

2.連接配接url不同