簡體   English   中英

JFrame 復選框數據存儲在一個變量中。 如何將其輸入到 mysql 查詢中?

[英]JFrame checkbox data stored in a variable. How can I input this into a mysql query?

我有 2 個復選框選項,允許用戶 select 他們想在預訂表格上停留多少晚。

[復選框的圖片 強文本

一旦添加了所有客戶詳細信息,例如姓名、地址、email...,我將這些輸入到 mysql 工作台數據庫中進行存儲。

因為我有兩個用於選擇的夜晚部分的復選框選項,它們將根據用戶的選擇存儲在一個變量中,我如何才能將其輸入到我的數據庫中? 復選框被稱為 2 個不同的名稱,因為我無法稱它們為同一事物。 稍后我如何在代碼中使用該變量來查找用戶選擇的內容。

從 sql 查詢的變量字符串中獲取文本

從 sql 查詢的變量字符串中獲取文本

抱歉,如果這沒有任何意義,我是新手,所以請詢問您是否需要更多說明:)

到目前為止我的 sql 查詢

到目前為止我的sql查詢

從這張圖片中可以看出,可以輸入其他變量,但我不知道如何讓 nightsChosen 起作用。

您應該解決一些問題:

  • 要獲取復選框的值,請在復選框實例上使用 isSelected() 方法。 如果選中該框,它將返回true 由於它們是不同的實例,您知道哪個是 7 天,哪個是 14 天,因此根據檢查的是哪個,您將知道要使用的值。

  • 從用戶體驗的角度來看,如果這些選擇是相互排斥的(你只能選擇 7 天或 14 天,不能同時選擇兩者),你應該使用單選按鈕而不是復選框。

  • 在您的 SQL 查詢中,您使用的是准備好的語句(這很好)。 但是您仍然通過手動形成字符串來形成 sql。 這將使您容易受到 SQL 注入攻擊。 您應該這樣做的方法是在 sql 字符串中使用占位符值,然后將變量綁定到占位符。 例如:

    PreparedStatement stmt = conn.prepareStatement("select * from mytable where id =?"); stmt.setInt(1, 你的變量);

  • 將來,請在發布到 StackOverflow 時在問題本身中包含文本,而不是發布顯示代碼的圖像。 它使問題更易於搜索,並使社區能夠更輕松地查看/試用您的代碼。

暫無
暫無

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

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