0
int rs2 = s
                    .executeUpdate("INSERT INTO hiscores (userid, playerRights, LVL, XP, 0, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20) VALUES ('"
                            + player.getUniqueId()
                            + "', '"
                            + player.getStaffRights()
                            + "', '"
                            + player.getSkill().getTotalLevel()
                            + "','"
                            + player.getSkill().getTotalXp()
                            + "','"
                            + player.getSkill().getExp()[0]
                            + "','"
                            + player.getSkill().getExp()[1]
                            + "','"
                            + player.getSkill().getExp()[2]
                            + "','"
                            + player.getSkill().getExp()[3]
                            + "','"
                            + player.getSkill().getExp()[4]
                            + "','"
                            + player.getSkill().getExp()[5]
                            + "','"
                            + player.getSkill().getExp()[6]
                            + "','"
                            + player.getSkill().getExp()[7]
                            + "','"
                            + player.getSkill().getExp()[8]
                            + "','"
                            + player.getSkill().getExp()[9]
                            + "','"
                            + player.getSkill().getExp()[10]
                            + "','"
                            + player.getSkill().getExp()[11]
                            + "','"
                            + player.getSkill().getExp()[12]
                            + "','"
                            + player.getSkill().getExp()[13]
                            + "','"
                            + player.getSkill().getExp()[14]
                            + "','"
                            + player.getSkill().getExp()[15]
                            + "','"
                            + player.getSkill().getExp()[16]
                            + "','"
                            + player.getSkill().getExp()[17]
                            + "','"
                            + player.getSkill().getExp()[18]
                            + "','"
                            + player.getSkill().getExp()[19]
                            + "','"
                            + player.getSkill().getExp()[20] + "')");

コードが機能しない理由がわかりません。私はとても近いです!構文でエラーが発生するのはなぜですか? 私には正しいように見えますか?誰でもこれで私を助けてもらえますか? どんな助けでも大歓迎です!

フィラーフィラーフィラーフィラーフィラーフィラーフィラーフィラーフィラーフィラーフィラー

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20) VALUES ('0', '0', '42','3' at line 1
4

1 に答える 1

1

この場合、コードを簡略化するために PreparedStatement を使用します。

PreparedStatement st;

st = connection.prepareStatement(""
   +"INSERT INTO hiscores (userid, playerRights, LVL, XP, " 
   +"`0`,`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`,`10`,`11`,`12`,`13`,`14`,`15`,"
   +"`16`,`17`,`18`,`19`,`20`) "
   +"VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";

st.setInt(    1, player.getUniqueId());
st.setString( 2, player.getStaffRights());
st.setInt(    3, player.getSkill().getTotalLevel());
st.setString( 4, player.getSkill().getTotalXp());

for(int i=0; i<=20; i++){
   st.setInt( i+5, player.getSkill().getExp()[i]);
} 

st.executeUpdate();
于 2013-10-28T21:30:50.660 に答える