java mysq l数据库的问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 16:39:22
以下是我的代码
import java.io.BufferedReader;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class ServerThread extends Thread{
protected DatagramSocket socket=null;
protected BufferedReader in=null;

public ServerThread() throws IOException{
this("ServerThread");
}

public ServerThread(String name) throws IOException{
super(name);
socket=new DatagramSocket(9000);
}

public void run(){
while(true){
try{
byte[] rbuf=new byte[256];

DatagramPacket packet=new DatagramPacket(rbuf,rbuf.length);
socket.receive(packet);

int i = 0;
try{
Class

if(!rs1.next()){
username=rs1.getString(1);

当ResultSet里有数据时,rsl.next()为真,而你在前面加了个"!",非...
这样,没数据时,username=rs1.getString(1)当然报错..

ResultSet 有个很不方便的地方就是你现在遇到的这个情况...一个字段的数据在被取出来以后就不能够再取了...而且获取的顺序也只能从第一个到最后一个...所以你这样子获取了两次是会报错的..

如果确实要获取两次,那你可以在第一次获取的时候用自己的一个变量把它先保存起来..或者就用其他的orm工具(hibernate)