0

データベースに入力されたデータを表示するアプリがあります。これにより、ユーザーはこの情報を削除または編集できるはずです。これまでのところ、なんとか削除できましたが、データを編集するための最良の方法は何ですか、可能であれば、データが既に入力されているページの編集ボタンをクリックして、テキストボックスに事前入力された選択されたレコードのみを持つWebページにユーザーを移動させ、ユーザーがこれらを編集できるようにすることです。私はこれをしますか?

これは、データベースから行を削除する方法です

                <p:dataTable id="dataTable" var="u" value="#{userBean.getUserList()}"  
                             paginator="true" rows="10"  
                             paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                             rowsPerPageTemplate="5,10,15">  
                    <p:column>
                        <f:facet name="header">
                            User ID
                        </f:facet>
                        #{u.userID}
                    </p:column>

                    <p:column>
                        <f:facet name="header">
                            Name
                        </f:facet>
                        #{u.name}
                    </p:column>

                    <p:column>
                        <f:facet name="header">
                            Email 
                        </f:facet>
                        #{u.email}
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            Address
                        </f:facet>
                        #{u.address}
                    </p:column>

                    <p:column>
                        <f:facet name="header">
                            Created Date
                        </f:facet>
                        #{u.created_date}
                    </p:column>

                    <p:column>
                        <f:facet name="header">
                            Delete
                        </f:facet>
                        <h:commandButton value="Delete" action="#{user.delete(u.userID)}" />
                    </p:column>

                    <p:column>
                        <f:facet name="header">
                            Edit
                        </f:facet>
                        <h:commandButton value="Edit" action="{user.delete(u.userID)}" />
                    </p:column>
                </p:dataTable>

これは、削除できるバッキング Bean です。

 public void delete(long userID) {
        PreparedStatement ps = null;
        Connection con = null;
        if (userID != 0) {
            try {
                Class.forName("com.mysql.jdbc.Driver");
                con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
                String sql = "DELETE FROM user1 WHERE userId=" + userID;
                ps = con.prepareStatement(sql);
                int i = ps.executeUpdate();
                if (i > 0) {
                    System.out.println("Row deleted successfully");
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    con.close();
                    ps.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }

ありがとう

編集

データを更新する方法を理解しました。私の質問は、行からデータを取得し、選択したデータを入力ボックスで新しいページに入力する方法です。または、テーブル内のデータをライブで編集することをお勧めします。 、これは可能ですか

4

2 に答える 2

1

ユーザーを 2 番目のページに移動してデータを編集する代わりに、primfaces DataTable - Row Editing を使用できます。これを参照してください。

http://www.primefaces.org/showcase/ui/datatableRowEditing.jsf

于 2013-10-21T10:35:33.323 に答える