簡體   English   中英

在具有JFrame形式的NetBeans derby中將SELECT語句與WHERE子句一起使用

[英]Using SELECT statement with a WHERE clause in Netbeans derby with JFrame forms

我已經制作了一個JFrame表單和一個數據庫,該數據庫將jTable數據jTable到JFrame表單的一個面板中。 當用戶在用作搜索欄的jTextField鍵入內容時,SEARCH查詢將顯示整個表,而不僅僅是特定的記錄。 我不知道如何在代碼中添加WHERE條件。

到目前為止,用戶可以在搜索欄中鍵入任何內容,按搜索按鈕並查看數據庫中的所有信息。 我嘗試使用以下語句:

myDataObj = myStatObj.executeQuery ("Select* from Gabrielle.PlantData where PName = 'search'");

但所有這些顯示都是空白表。

Connection myConObj = null;
Statement myStatObj = null;
ResultSet myDataObj = null;

public WikiPlantGUI() 
{
    initComponents();
    selectionAll();
}

/**
 * This method is called from within the constructor to initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is always
 * regenerated by the Form Editor.
 */

public void selectionAll()
{
   try
   {
    myConObj= DriverManager.getConnection ("jdbc:derby://localhost:1527/InfoDB", "Gabrielle", "plants");
    myStatObj = myConObj.createStatement();
    myDataObj = myStatObj.executeQuery ("Select* from Gabrielle.PlantData where PName = 'search'");
    guiTable.setModel(DbUtils.resultSetToTableModel(myDataObj) );   
   }

   //Then there is some code that creates the JFrame form

    private void mainSearchbtnActionPerformed(java.awt.event.ActionEvent evt) {                                              
    boolean valid = true;
    String search = mainSearch.getText();

    if (search.length() ==0)
    {
        valid = false;
    }

    else
    {
        basePanel.removeAll();
        basePanel.add(dispPanel);
        basePanel.repaint();
        basePanel.revalidate(); 
    }

我使用設計視圖創建了數據庫,所以我不知道如何顯示代碼。 該數據庫具有以下字段:

  1. ID (主鍵),
  2. PName (搜索中涉及的字段),
  3. PLevel
  4. PArea
  5. PType
  6. PWater
  7. PSun

PSunINTEGER外,它們都是VARCHAR

我現在要做的是獲取用戶在jTextField輸入的數據(保存為String搜索),在數據庫中搜索該數據,然后僅在用戶輸入的表中顯示單個記錄。匹配表中名為PName的某個字段。

如果有什么太籠統的事,我感到抱歉,這是我第一次使用此網站。 請嘗試使用簡單的解釋,因為我還是編程的新手。 任何幫助表示贊賞。

到目前為止,我非常感謝您提供的答案,但是我對程序進行了很大的更改,以至於無法識別。

我犯的錯誤是試圖在同一程序中管理數據庫和GUI。 我現在將程序分為兩部分。 有一個稱為“后端”的主類,它管理從數據庫中讀取數據。 然后還有另一個稱為“ GUI”的類,用於處理從Backend類獲取的信息的顯示。

結果,該程序的許多功能已更改。

暫無
暫無

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

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