0

我有一个小问题,我正在制作项目,我正在将数据从客户端发送到服务器,服务器将其发送到 mysql 数据库。我在客户端应用程序中有客户端和管理选项卡,在客户端选项卡中我输入用户名并连接到服务器,这个用户名正在发送到服务器,服务器保存到表用户的数据库中。在管理选项卡(客户端应用程序端)中,我连接以修改数据库中的一些数据并将新数据添加到数据库中。我的问题是:一步一步。我输入用户名,按连接,用户名字符串被发送到服务器并保存在表用户 2 中的 mysql 中。接下来,我转到管理选项卡,我想添加一些数据插入到 mysql (它'

这是我发送用户名的客户端代码:

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 + "')");

如何让它工作?谢谢你的帮助

4

2 回答 2

0

您是否缺少:

out.println(name);

在打印标题之前?

于 2012-04-05T22:05:12.107 回答
0

也许您应该将您的客户端服务器协议从依赖消息的顺序更改为更明确?可能会让它更健壮。

也许你应该发送这样的行:

 out.println("Name:" + name);
 out.println("Title:" + title);
 out.println("Question" + question);
 out.println("Answer" + answer1);

然后您可以按任何顺序接收字段..

于 2012-04-05T22:15:12.350 回答