1

文字列の日付をアクセスデータベースに追加する日付/時刻フィールドに変換する方法に関する問題を投稿しました:ここにリンクがあります

javasqlINSERTクエリを使用して日付/時刻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();
        }


    }

ここで問題が発生するのは、日付が別のレコードに追加され、タイトル、進行状況などの他のフィールドが別のレコードに追加されることです!!! 単一のレコードに日付およびその他の文字列フィールドを挿入する方法。Plzは数行のコードで説明しています!!! 以前のソリューションの変更は非常に役立ちます、ありがとう!

4

2 に答える 2

0

単一のレコードに日付およびその他の文字列フィールドを挿入する方法

2 つではなく 1 つの挿入ステートメントにします。

   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();
于 2013-01-17T10:23:59.637 に答える
0

1 つの SQL ステートメントを実行することで、単一のレコードに挿入できます。列をステートメントに追加し、準備されたステートメントでそれらの値を設定するだけです。これは、文字列を連結する代わりに挿入を実行するより安全な方法です。

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();
        }

}
于 2013-01-17T10:26:06.867 に答える