当前位置: 代码迷 >> J2SE >> socket取数插入数据库不成功!
  详细解决方案

socket取数插入数据库不成功!

热度:253   发布时间:2016-04-23 20:13:55.0
【求助】socket取数插入数据库不成功!!!
我写了两个脚本,一个连接socket,接收数据传给另外一个,另外一个接收数据后插入数据库表,现在第一个能接收到数据,但是数据库中没有值!!
Socket.java 如下:
package com.wyk.connection;

import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStreamReader;  
import java.io.PrintWriter;  
import java.net.ServerSocket;  
import java.text.SimpleDateFormat;

import com.wyk.jdbc.testJdbc;

public class Socket {

public static void main(String[] args) throws IOException {  
        ServerSocket server = new ServerSocket(10044);  
        java.net.Socket client = server.accept();
        BufferedReader in = new BufferedReader(new InputStreamReader(  
                client.getInputStream()));  
        PrintWriter out = new PrintWriter(client.getOutputStream());  
        testJdbc tj = new testJdbc();
        
        while (true) {  
            String str = in.readLine(); 
            //getting the source data;
            tj.isrc=str.substring(1, 2);
            tj.imsgid=str.substring(3, 6);
            tj.iserlno=str.substring(7, 10);
            tj.icont=str.substring(11);
            
            System.out.println(str); 
            out.println("has receive....");  
            out.flush();  
            if (str.equals("end"))  
                break;  
        }  
        client.close();  
    }  
   
}


testjdbc.java如下:
package com.wyk.jdbc;

import java.sql.*;
import java.text.SimpleDateFormat;

public class testJdbc {
public String isrc;
public String imsgid;
public String iserlno;
public String icont;

public void InsertData() {
String sql = "";
ResultSet rs = null;
Statement stmt = null;
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl", "bi", "bi");
stmt = conn.createStatement();
//SimpleDateFormat temp = new SimpleDateFormat("yyyy-MM-dd");
sql = "insert into bi.wyk_test(seq,serlno,msgid,src,sendtime,cont,state) "
+ "values(12,iserlno,imsgid,isrc,to_date('2014-09-11','yyyy-mm-dd'),icont,'定位信息')";
rs = stmt.executeQuery(sql);
stmt.executeQuery("commit;");
// while (rs.next()) {
// System.out.println(rs.getString("state"));
// }
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {

try {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}


------解决思路----------------------
你有往里面插数据么?没有吧??
------解决思路----------------------
sql  写错了呗。

看看你的exception里有点撒拉。。。
  相关解决方案