是不是一定要在电脑设置好odbc,如果不设可以吗,我想从数据库学起,只要能简单的添加记录就可以了。参考demo中并没有操作数据库的例子。

解决方案 »

  1.   

    import java.sql.*;public class Jdbc {
    private Connection con;
    private Statement ste;
    private ResultSet rs;
    private String driver;
    private String url; /**
     * 空的构造函数
     */
    public Jdbc() {
    } /**
     * 
     * @param driver
     * @param url
     * @param username
     * @param userpwd
     * @throws Exception
     */
    public Jdbc(String driver, String url, String username, String userpwd)
    throws Exception {
    try {
    Class.forName(driver);
    con = DriverManager.getConnection(url, username, userpwd);
    ste = con.createStatement();
    } catch (Exception e) {
    System.out.println("出错了");
    e.printStackTrace();
    }
    } /**
     * 设置数据库连接驱动
     * @param driver
     * @return
     */
    public boolean setDriver(String driver) {
    try {
    Class.forName(driver);
    return true;
    } catch (Exception e) {
    e.printStackTrace();
    return false;
    }
    } /**
     * 按URL,DatabaseUserName,DatabasePassword连接数据库
     * @param url
     * @param userName
     * @param userPWD
     * @return
     */
    public boolean setConnection(String url, String userName, String userPWD) {
    try {
    con = DriverManager.getConnection(url, userName, userPWD);
    ste = con.createStatement();
    return true;
    } catch (Exception e) {
    e.printStackTrace();
    return false;
    }
    } /**
     * 通过SQL语句查询数据库
     * @param sql
     * @return
     */
    public ResultSet sendQuery(String sql)
    {
    try {
    ste =con.createStatement(
     ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_READ_ONLY);
    rs = ste.executeQuery(sql);
    return rs;
    } catch (SQLException e) {
    e.printStackTrace();
        return null; 
                      }
    }
        /**
         * 处理数据更新
         * @param sql
         * @return
         */
    public int sendUpdate(String sql)
    {
    try {
    return ste.executeUpdate(sql);
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return 0; 
            //更新出错
    }
        /**
         * 关闭相关流操作
         */
    public void close()
    {
    try {
    rs.close();
    ste.close();
    con.close();
    } catch (Exception e) {
        //e.printStackTrace();
    //System.out.println("关闭数据库出错。");
    }
    }
        /**
         * 测试数据库是否成功连接
         * @param args
         */
    public static void main(String[] args) {
    Jdbc db = new Jdbc();
    db.setDriver("sun.jdbc.odbc.JdbcOdbcDriver");
    db.setConnection("jdbc:odbc:Archives", "用户名", "密码");
    ResultSet res = db.sendQuery("测试SQA代码");
    try {
    while (res.next())
    System.out.println(res.getString(1));
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }我觉得很详细了噢,你看看呢。我运行过的。