Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 随机数猜测游戏-玩家日志_Java_Database Connection - Fatal编程技术网

Java 随机数猜测游戏-玩家日志

Java 随机数猜测游戏-玩家日志,java,database-connection,Java,Database Connection,我创建了这个随机数字猜测游戏,发现我需要存储用户名、用户玩的时间和日期以及他的分数 以下是我编写的关于我试图创建的逻辑的代码: 这是连接的代码: Connection cn=null; ResultSet rs=null; Statement stat=null; Statement statement=null; insert语句正在使用: int ok; try { ok=stateme

我创建了这个随机数字猜测游戏,发现我需要存储用户名、用户玩的时间和日期以及他的分数

以下是我编写的关于我试图创建的逻辑的代码:

这是连接的代码:

Connection cn=null;
ResultSet rs=null;
Statement stat=null;
Statement statement=null;
insert语句正在使用:

            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){}
    }
下面是我使用的连接函数:

            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=txtaser,日期/时间来自以下代码:

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    //get current date time with Date()
    Date date = new Date();
用户的分数来自userscore=Integer


我如何让它将新记录写入数据库?我在这个问题上提供的代码是否可能做到这一点?

首先,您不应该像现在这样忽略异常:

       }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();
            }
        }

希望您开始看到异常和堆栈跟踪,这通常是隔离问题的第一步。

您有错误吗?问题是什么?StackTrace中是否有错误?\u错误点位于时段。是什么引起的?我不明白你的问题。如果你有一个堆栈跟踪,复制并粘贴它。我有一个堆栈跟踪。我试过了,因为您建议它可以捕获代码中出现的错误。但是t.printStackTrace();我的意思是,错误是指“t”之后的句点。对不起,我不知道为什么会发生这种情况。代码对我来说很好用。