データベースに入力されたデータを表示するアプリがあります。これにより、ユーザーはこの情報を削除または編集できるはずです。これまでのところ、なんとか削除できましたが、データを編集するための最良の方法は何ですか、可能であれば、データが既に入力されているページの編集ボタンをクリックして、テキストボックスに事前入力された選択されたレコードのみを持つ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();
}
}
ありがとう
編集
データを更新する方法を理解しました。私の質問は、行からデータを取得し、選択したデータを入力ボックスで新しいページに入力する方法です。または、テーブル内のデータをライブで編集することをお勧めします。 、これは可能ですか