簡體   English   中英

使用Java和sql INSERT查詢在MS Access中插入字符串類型變量和日期類型變量

[英]Insert String type variables and a date type variable in MS access using java and sql INSERT Query

我發布了一個有關如何將字符串日期轉換為要在訪問數據庫中添加的日期/時間字段的問題:這是鏈接

如何使用java sql INSERT查詢在日期/時間ms訪問字段中插入

我找到了我在這里使用的解決方案,這是我的代碼

        if(b==c.t.addR){
        String n=Integer.toString(4);
        String t=c.t.titlefield.getText();
        String d=c.t.datefield.getText();
        String p=c.t.progressfield.getText();
        String pr=c.t.pselection;
        String s="Open";
        SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy hh:mm a");

        try {
            date = df.parse(d);
            String query = "INSERT into Records (Deadline) Values(?)";
            PreparedStatement ps  = c.b.con.prepareStatement(query);

            ps.setTimestamp(1,new java.sql.Timestamp(date.getTime()));
            ps.executeUpdate();

        }catch (Exception er) {
            // TODO Auto-generated catch block
            er.printStackTrace();
        }


        try {
            c.b.st.executeUpdate("INSERT into Records (Title,Progress,Priority,Status) VALUES('"+t+"','"+p+"','"+pr+"','"+s+"') ");
            JOptionPane.showMessageDialog(null, "Record Added");
        } catch (SQLException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }


    }

現在出現的問題是,在單獨的記錄中添加日期,而在另一個記錄中添加標題,進度等其他字段! 如何在單個記錄中插入日期和其他字符串字段。 請用一些代碼行來說明!!! 以前的解決方案的修改將非常有幫助,謝謝!

如何在單個記錄中插入日期和其他字符串字段

使它成為一個插入語句,而不是2。

   String query = "INSERT into Records (Deadline,Title,Progress,Priority,Status) Values(?,?,?,?)"
 PreparedStatement ps  = c.b.con.prepareStatement(query);

                ps.setTimestamp(1,new java.sql.Timestamp(date.getTime()));
                ps.setString(2,t);
                ps.setString(3,p);
                ps.setSring(4,pr);
                ps.setString(5,s);
                ps.executeUpdate();

您可以通過執行一條sql語句來插入單個記錄。 您只需要將列添加到語句中,並使用prepared語句設置它們的值。 這是執行插入而不是連接字符串的更安全的方法。

if(b==c.t.addR){
    String n=Integer.toString(4);
    String t=c.t.titlefield.getText();
    String d=c.t.datefield.getText();
    String p=c.t.progressfield.getText();
    String pr=c.t.pselection;
    String s="Open";
    SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy hh:mm a");

    try {
       date = df.parse(d);
       String query = "INSERT into Records (Deadline,Title,Progress,Priority,Status)" 
           + "Values(?, ?, ?, ?,?)";

       PreparedStatement ps  = c.b.con.prepareStatement(query);

       ps.setTimestamp(1,new java.sql.Timestamp(date.getTime()));
       ps.setString(2,t);
       ps.setString(3,p);
       ps.setSring(4,pr);
       ps.setString(5,s);
       ps.executeUpdate();

        }catch (Exception er) {
          // TODO Auto-generated catch block
          er.printStackTrace();
        }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM