首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Netbeans ucanaccess

Netbeans ucanaccess
EN

Stack Overflow用户
提问于 2016-06-15 21:10:58
回答 1查看 2.9K关注 0票数 0

conn = Connect.ConnectDB();

代码语言:javascript
复制
    String sql = "insert into Ianouarios ("
            +"id,"
            +"Hmerominia,"
            +"Agores,"
            +"Pliromes,"
            +"Eksoda,"
            + "Zhta,"
            +"Metaforika,"
            +"Pliromimetafo,"
            +"Epitages,"
             +"Xondriki,"
            +"Noiki,"
            +"Plirominoiki)"
            + "values("+a1.getText()+ ",'"+a2.getText()+"','"+a3.getText()+"','"+a4.getText()+"','"+a5.getText()+"','"+a6.getText()+"','"+a7.getText()+"','"+a8.getText()+"','"+a9.getText()+"','"+ a10.getText()+ "','"+a11.getText()+"','"+a12.getText()+"')" ;
    try{
        pst = conn.prepareStatement(sql);
        pst.executeUpdate();
        JOptionPane.showMessageDialog(null, "Saved");
        //UpdateJTable();
        //conn.close();
    }catch(Exception ex){
        JOptionPane.showMessageDialog(null, ex);

我有一个ms access数据库,我正在用jdbc驱动程序更新它。

有人能告诉我如何使用ucanaccess驱动程序做同样的事情吗?

我试过他们的ucanaccess页面的例子,但没有运气。

更新:我做到了:

conn = Connect.ConnectDB();

代码语言:javascript
复制
    try{




  String sql = "INSERT INTO Synola(id,Hmerominia,Agores,Pliromes,Eksoda,Zhta,Metaforika,Pliromimetafo,Epitages,Xondriki,Noiki,Plirominoiki) VALUES(?,?,?,?,?,?,?,?,?,?,?,?)" ;


   /* SimpleDateFormat ddmmyyyyFormat = new SimpleDateFormat("dd/MM/yyyy"); 
    Timestamp ddmmyyyy = new Timestamp(ddmmyyyyFormat.parse(a2.getText()).getTime()); */
   // String s=ddmmyyyy.toString();



        pst = conn.prepareStatement(sql);
        pst.setString(1, a1.getText());
        pst.setString(2,a2.getText());
        pst.setString(3, a3.getText());
        pst.setString(4, a4.getText());
        pst.setString(5, a5.getText());
        pst.setString(6, a6.getText());
        pst.setString(7, a7.getText());
        pst.setString(8, a8.getText());
        pst.setString(9, a9.getText());
        pst.setString(10, a10.getText());
        pst.setString(11, a11.getText());
        pst.setString(12, a12.getText());
        pst.executeUpdate();
        JOptionPane.showMessageDialog(null, "Saved");
       //UpdateJTableSynola();
       // conn.close();
    }catch(Exception ex){
        JOptionPane.showMessageDialog(null, ex);

    }

现在的问题是来自a2.getText()字段的数据,我将其放入数据库,因为(dd/MM/yyyy).The错误是不可解析的,date.How,我能修复这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-16 03:21:55

由于http://docs.oracle.com/javase/7/docs/technotes/guides/jdbc/bridge.htmlhttp://mail.openjdk.java.net/pipermail/build-dev/2012-October/007090.html,您可以做的是使用JDBC和http://ucanaccess.sourceforge.net/site.html连接到MSAccess数据库。

代码语言:javascript
复制
connection = DriverManager
.getConnection("jdbc:ucanaccess:////REMOTE-IP-ADDRESS/shared-folder/TestDB.mdb");
System.out.println("CONNECTION ESTABLISHED....");

下面是一个小示例(在Java 8中测试),它使用JDBC/UCanAccess连接到远程MS-Access DB。确保您的项目构建路径中有以下jars。

  1. commons-lang-2.6.jar
  2. commons-logging-1.1.1.jar
  3. hsqldb.jar
  4. jackcess-2.1.0.jar
  5. ucanaccess-2.0.9.5.jar

代码:

代码语言:javascript
复制
/**
* Connects to a remote MS-Access DB using JDBC/UCanAccess API.
*/
package miscellaneous;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class ConnectRemoteDB {
    public static void main(String[] args) {
        initializeConnection();
    }

    /**
    * Initializes remote database connection and inserts a record and closes the connection.
    */
    private static void initializeConnection() {
        System.out.println("Attempting Database Connection...");
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        try {
            connection = DriverManager
            .getConnection("jdbc:ucanaccess:////REMOTE-IP-ADDRESS/shared-folder/TestDB.mdb");
            System.out.println("CONNECTION ESTABLISHED....");
            String insertTableSQL = "INSERT INTO Table1" + "(Name) VALUES"
            + "(?)";
            preparedStatement = connection.prepareStatement(insertTableSQL);
            preparedStatement.setString(1, "Sandeep");
            preparedStatement.executeUpdate();
            System.out.println("RECORD INSERTED...");
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                connection.close();
                System.out.println("CONNECTION CLOSED...");
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37845834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档