2012-04-27 29 views
1

如何升從分割捕獲輸出,並使用它例如作爲行動或與數據庫中的數據進行比較如何使用從splited SMS輸出

String myString = (msg.getText()); 

String[] a = myString.split("\\*"); 

for (String b : a) 
    System.out.println(b); 

輸出爲:

pay 
merchant 
amount 

想用現收現付的動作和數量,以增加商家的數量在數據庫

+1

這個問題本身並不反映問題標題,你想考慮改變問題標題或關閉這個問題,因爲以前的評論者給你的鏈接,你應該閱讀。 – Jasonw 2012-04-26 01:45:40

+0

因此,例如我想獲取數量變量,並與我的數據庫中的數據進行比較。這是扣除個人帳戶金額並添加到商家帳戶。我怎麼能這樣做。 plz help – user1263516 2012-04-26 08:08:20

+1

您是否有規則定義允許哪些有效輸出,以及這些規則如何轉換爲數據庫上的操作? – mellamokb 2012-04-27 13:56:51

回答

0
String [] message_parts = message.split("#"); 
// check format 
String pay = message_parts[0]; 
String merchant = message_parts[1]; 
String amount_string = message_parts[2]; 
+0

所以例1想拿量變量並使用一個在我的數據庫進行比較。這是扣除個人帳戶金額並添加到商家帳戶。我怎麼能這樣做。 plz help – user1263516 2012-04-26 08:06:27

+0

最簡單的事情就是使用JDBC連接到數據庫,以便運行SQL查詢。從個人賬戶金額中扣除的SQL查詢將如下所示:'update personal_account_table set balance = balance - amount where person_id =「p0003」'and merchant:'update merchant_account_table set balance = balance + amount where merchant_id =「m0007」' (假設表格存在並且具有varchar id字段)。如果你想做額外的事情(如果你不明白,不需要),那麼將2個SQL語句包含在單個JDBC事務中,以便它們可以自動完成。 – necromancer 2012-04-26 19:29:36

+0

您可能需要另一個SQL語句來檢查該人的「餘額> =金額」(如果您正在進行交易,也將其包含在同一交易中)。 – necromancer 2012-04-26 19:31:27

1

你會需要定義如何將輸入轉換爲數據庫操作的規則。爲了讓您一開始,你可以寫if陳述這樣每個規則:

if (a.length == 3 && a[0] == "pay" && a[1] == "merchant") 
{ 
    double amount = Double.parseDouble(a[2]); 
    // connect to database and add amount to the merchant 
    // UPDATE [AmountTable] SET [Amount] = [Amount] + ? 
    // WHERE [Type] = 'Merchant' (or whatever the logic is) 
} 
+0

其說法雙倍不能推定,「 雙倍=雙倍。parseDouble(A [2]); 「 – user1263516 2012-04-27 14:10:09

+0

」deferenced「是什麼意思? – mellamokb 2012-04-27 14:12:25

+0

我的意思是取消引用 – user1263516 2012-04-27 14:37:42