2013-06-05 56 views
-2

所以我想要做的是將一個INTEGER類型轉換爲一個字符串從一個jdbc放入一個jtextfield,不幸的是String.OfValue不能轉換我的整數類型,但可以爲我的NUMBERIC類型。將整數轉換爲字符串NOT NUMERIC

**未使用數字,因爲自動增量不會在一些奇怪的原因數字工作(如果你知道解決這個請告訴我)

我的繼承人字符串的方法

 String sql ="select * from patient where patient_id='"+Table_click+"'"; 
     pst =conn.prepareStatement(sql); 
     rs=pst.executeQuery(); 
     if (rs.next()) { 
     String add1 =pst.toString(); 
     p_id.setText(add1); 
     } 

這是我的錯誤信息

java.sql.SQLSyntaxErrorException:不支持 'INTEGER' 和 'CHAR(UCS_BASIC)' 之間的比較。類型必須具有可比性。字符串類型也必須具有匹配的排序規則。如果核對不符,一個可能的解決方案是鑄造操作數迫使他們的默認排序(例如選擇表名FROM sys.systables WHERE CAST(表名AS VARCHAR(128))=「T1」)

+0

嗯......它看起來像你所得到的「patient_id」不是從SQL – greedybuddha

+2

您需要獲取值作爲一個整數,作爲異常值說明的價值。 'String add1 = String.valueOf(rs.getInt(「patient_id」));' – Vulcan

+0

@Vulcan補充說,作爲答案,可能是這種情況。 – acdcjunior

回答

0

如果我正確地理解你的問題,

Integer patient_id = //get value of patient_id from database 
String add1 =patient_id.toString(); 
p_id.setText(add1); 
+0

好的,這是我的新代碼 String sql =「select * from patient where patient_id ='」+ Table_click +「'」; pst = conn.prepareStatement(sql); rs = pst.executeQuery(); String add1 = pst.toString();如果(rs.next()){ p_id.setText(add1); 我的錯誤是java.sql.SQLSyntaxErrorException:'INTEGER'和'CHAR(UCS_BASIC)'之間的比較不支持。 ...(更多但不能插入)你怎麼看? – user1724891

+0

上面更新了易於查看:) – user1724891