2012-10-09 89 views
0

在我當前的項目中,我有一個帶參數的函數(例如,int badgID,代碼片段如下)。此函數與Apache Derby數據庫連接,創建表(例如,FIRSTTABLE),然後查詢到FIRSTTABLE表。查詢語句使用函數參數進行查詢(例如,ID = $badgeID)。我的問題: 是從句法的角度來看的正確方法是ID = $badgeID。我試過這種情況,但它不起作用。在SQL查詢語句中賦值變量

public void getprofile (int badgeID) { 

// Create connection with Apache-Derby Database. 

// Create table in Apache Derby datbase. 
String createString = " CREATE TABLE FIRSTTABLE " 
        + "(ID INT PRIMARY KEY, " 
      + "PREF INT, " 
        + " NAME VARCHAR(12))"; 


// SQL query on table 
querystmt = "SELECT * FROM FIRSTTABLE WHERE ID = $badgeID" 

} 

回答

3

這是PHP語法......

在Java中,你會寫

String querystmt = "SELECT * FROM FIRSTTABLE WHERE ID = " + badgeID; 
+0

很多很多的感謝阿利克斯您的時間和建議。 :) – Pankesh

+0

像這樣的簡單字符串連接通常工作正常。對於更復雜的場景,您需要使用預準備語句並使用佔位符,並使用JDBC API在執行時提供佔位符值。但是現在,從字符串concatentation開始,以適應查詢的工作方式。 –