我有一個小問題,我正在做項目,並且我正在將數據從客戶端發送到服務器,服務器將它發送到mysql數據庫。 我在客戶端應用程序中有客戶端和管理標籤, 在客戶端選項卡中,我鍵入用戶名並連接到服務器,此用戶名正在發送到服務器,服務器保存到表用戶的數據庫中。 在「管理」選項卡(客戶端應用程序端)中,我通過連接來修改數據庫中的某些數據並將新數據添加到數據庫。 我的問題是:一步一步 1.我鍵入用戶名,按連接,用戶名字符串正在發送到服務器並保存在mysql用戶表中 2.接下來,我轉到admin選項卡,我想添加一些數據要插入到MySQL(它是問題的字符串),所以我在textField中鍵入該問題,然後按添加和問題是服務器讀取它作爲用戶名,並將其插入到用戶表,而不是問題表。如何防止將相同的數據從textField添加到數據庫?
下面是從客戶端的代碼,我發送的用戶名:
String name = client.nameField.getText();
out = new PrintWriter (os, true);
out.println(name);
這是從管理標籤,讓我發送數據的代碼:
DataOutputStream os = new DataOutputStream (socket.getOutputStream());
String name = client.nameField.getText();
String title = Configuration.titleField.getText();
String question = Configuration.questionField.getText();
String answer1 = Configuration.answer1Field.getText();
out = new PrintWriter (os, true);
out.println(title);
out.println(question);
out.println(answer1);
,這裏是哪裏收到數據的代碼在服務器端:
while(RunThread){
String name;
name = in.readLine();
st.execute("INSERT INTO "+db+" .poll_users (name) VALUES ('" + name + "')");
String title;
title = in.readLine();
if(title!=null)
st.execute("INSERT INTO "+db+" .poll_titles (title) VALUES ('" + title + "')");
String question;
question = in.readLine();
if(question!=null)
st.execute("INSERT INTO "+db+" .poll_questions (question) VALUES ('" + question + "')");
String answer1;
answer1 = in.readLine();
if(answer1!=null)
st.execute("INSERT INTO "+db+" .poll_answers (answer) VALUES ('" + answer1 + "')");
如何讓它工作? 感謝您的幫助
是啊,但這會把(例如)名稱:鮑勃到列用戶的數據庫,並將有一個問題,閱讀它後來顯示在適當的形式,或者在閱讀時有什麼辦法刪除「名稱:」並只顯示「鮑勃」?或者也許不同的解決方案?我正在學java,所以我不知道所有 – takeit 2012-04-05 22:46:39
也修正了,用subString去掉「Name:」文本,謝謝 – takeit 2012-04-12 19:26:41