2012-03-13 119 views
-1

我正在创建这个随机数猜测游戏,发现我需要存储用户的用户名,时间和日期以及他的得分。随机数猜测游戏 - 玩家记录

这是我写的关于这个逻辑我试图创建代码:

这是连接代码:使用

Connection cn=null; 
ResultSet rs=null; 
Statement stat=null; 
Statement statement=null; 

insert语句IM:

  int ok; 
      try 
      { 
       ok=statement.executeUpdate("INSERT INTO Table1(Player_name,Play_date, Player_score) VALUES("+'"'+username+","+datetime+","+scoretodb+'"'+")"); 
      }catch(SQLException bleh){} 

这里是使用的连接功能:

public void setConnection() 
    { 
     try 
     { 
      try 
      { 
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
       cn=DriverManager.getConnection("jdbc:odbc:db1"); 
       stat=cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); 
       rs=stat.executeQuery("Select Player_name,Play_date,Player_score from Table1"); 
       rs.next(); 
      }catch(ClassNotFoundException cnfe){} 
     }catch(SQLException sqle){} 
    } 

我想在这里做的逻辑是,在我写新记录插入我的数据库包含以下字段的目的,取得了按钮的每个按钮点击:

Player_name, Play_date, Play_score 

这显然需要球员的用户名,他出场的日期和时间以及他/她的得分。但是,当我执行上面提到的查询(代码),并点击指定用于写入新记录的按钮时,按钮类型会粘贴到面板上(这显然是一个错误的标志,我仍然在想什么它可能是这样)并且数据库没有我输入的值。顺便说一下,我的数据库已经连接到我的程序。和用户名来自一个JTextField = txtuser,日期/时间来自于下面的代码:

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); 
    //get current date time with Date() 
    Date date = new Date(); 

和用户的评分来自userscore =整数

我怎样才能把它写一个新的记录到我的数据库?用这个问题提供的代码有可能吗?

+1

你有错误?问题是什么? – talnicolas 2012-03-13 17:28:02

+0

而你的问题是...? – 2012-03-13 17:28:06

+0

这是什么问题? – ggrigery 2012-03-13 17:28:23

回答

2

那么对于初学者,你不应该忽略的异常喜欢自己正在做:

 }catch(ClassNotFoundException cnfe){} 
    }catch(SQLException sqle){} 

尝试是这样的:

 }catch(ClassNotFoundException cnfe){ 
      cnfe.printStackTrace(); 
     } 
    }catch(SQLException sqle){ 
     sqle.printStackTrace(); 
    } 

这样的软件,至少有一个机会给你如果在try区块中出现问题,请提供一些反馈意见。 (请注意,您的程序必须使用'java.exe'(而不是'javaw.exe')运行,以便您可以看到打印到控制台的例外情况。)

此外,按钮处于停滞状态的事实表明按钮操作处理程序代码抛出异常。因此,在您的按钮动作处理器写一个try/catch块:

 public void actionPerformed(java.awt.event.ActionEvent evt) { 
      try 
      { 
       // your code here 
      } 
      catch(Throwable t) 
      { 
       t.printStackTrace(); 
      } 
     } 

希望你应该能看到一个异常和堆栈跟踪,这通常是向分离,是什么问题的第一步。

+0

该时期的错误点数。什么可能导致它? – cryzone 2012-03-13 18:00:35

+0

我不明白你的问题。如果您有堆栈跟踪,请复制并粘贴它。 – 2012-03-13 18:03:06

+0

我有一个堆栈跟踪。我试过了,因为你建议它能够捕捉到我的代码带来的错误。但t.printStackTrace();被误认为是我的意思,错误指向“t”后的时间段 – cryzone 2012-03-13 18:23:17