[英]SQL syntax error on WHERE clause using Netbeans IDE / Derby
[英]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();
}
我使用設計視圖創建了數據庫,所以我不知道如何顯示代碼。 該數據庫具有以下字段:
ID
(主鍵), PName
(搜索中涉及的字段), PLevel
PArea
PType
, PWater
PSun
。 除PSun
( INTEGER
外,它們都是VARCHAR
。
我現在要做的是獲取用戶在jTextField
輸入的數據(保存為String搜索),在數據庫中搜索該數據,然后僅在用戶輸入的表中顯示單個記錄。匹配表中名為PName
的某個字段。
如果有什么太籠統的事,我感到抱歉,這是我第一次使用此網站。 請嘗試使用簡單的解釋,因為我還是編程的新手。 任何幫助表示贊賞。
到目前為止,我非常感謝您提供的答案,但是我對程序進行了很大的更改,以至於無法識別。
我犯的錯誤是試圖在同一程序中管理數據庫和GUI。 我現在將程序分為兩部分。 有一個稱為“后端”的主類,它管理從數據庫中讀取數據。 然后還有另一個稱為“ GUI”的類,用於處理從Backend類獲取的信息的顯示。
結果,該程序的許多功能已更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.