Saya mengalami masalah aneh:
Saya memiliki kolom "MaxDealtDamage" yang misalnya lebih rendah dari 1000000 (1000k). kodenya seperti ini:
class xyz = PlayerData.GetData(player);
xyz.LoginTimes++;
PlayerData.SetData(xyz, player);
Ketika 1000000 (1000k) atau lebih tinggi, kesalahan ini dikirimkan:
com.mysql.jdbc.Exceptions.jdbc4.MySQLSyntaxErrorException: Anda memiliki kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MariaDB Anda untuk mengetahui sintaks yang tepat untuk digunakan di dekat '.000,
MaxDefense
= 0 WHERE UUID='d839d1f0-ad5b-4922-841c-1d6ee05d9f56'' di baris 1
Berperilaku seperti itu akan mencoba memberinya sebuah String yang berisi "4.000.000" tetapi itu adalah bilangan bulat dengan nilai "4000000" (4000k). Untuk memastikan output saat runtime adalah 4000000 saya memeriksa ulang.
Inilah pertanyaannya:
MessageFormat.format("MASUKKAN KE Data Pemain(
UUID
,VIPExpirationDate
,IPv4
,FirstPlayTime
,LastPlayTime
,TotalPlayTime
,TotalLogins
,MaxDealtDamage
,MaxDefense
) " + "NILAI(''{0}'',''{1}'','' {2}'',''{3}'',''{4}'',{5},{6},{7},{8});", data.UUID.toString(), DBDateFormat .format(data.VIPExpirationDate), data.IPv4, DBDateFormat.format(data.FirstPlayTime), DBDateFormat.format(data.LastPlayTime), data.TotalPlayTime, data.TotalLogins, data.MaxDealtDamage, data.MaxDefense);