Herkese Merhabalar,
arkadaslar JavaFX ile yazmaya calistigim ufak bir projem var. Yapmak istedigim, tablodan CINCE karakterleri alip, editleyip, sonra bir temp_tablosuna kaydetmek.
Projemde MySQL de kayitli bazi kayitlari alip TableView de gösteriyorum (bkz.asagidaki resim)
Dikkat: Resimdede görüldügü gibi, CINCE karakterleri olmasi gerektigi gibi gösteriyor.
Daha sonra verileri düzenledikten / degistirtikten sonra tekrar MySQL e kaydetmek istiyorum (farkli bir temp tablosuna).
Bunun icin asagidaki CREATE i kullaniyorum;
public static void createTempMenue() throws SQLException {
Statement stmt = null;
String createTable = "CREATE TABLE menu_erkan (" +
" Menue INT(5) NOT NULL," +
" ShortCut VARCHAR(5) NULL DEFAULT ''," +
" Text_D VARCHAR(50) NULL DEFAULT ''," +
" Text_C VARCHAR(50) NULL DEFAULT ''," +
" Preis1 DOUBLE(10,2) NULL DEFAULT '0.00'," +
" Preis2 DOUBLE(10,2) NULL DEFAULT '0.00'," +
" Preis3 DOUBLE(10,2) NULL DEFAULT '0.00'," +
" Preis4 DOUBLE(10,2) NULL DEFAULT '0.00'," +
" Preis5 DOUBLE(10,2) NULL DEFAULT '0.00'," +
" Preis6 DOUBLE(10,2) NULL DEFAULT '0.00'," +
" Bon_D VARCHAR(50) NULL DEFAULT ''," +
" Bon_C VARCHAR(50) NULL DEFAULT ''," +
" Sort INT(2) NULL DEFAULT '0'," +
" Gruppe VARCHAR(3) NULL DEFAULT ''," +
" Aktiv INT(1) NULL DEFAULT '0'," +
" PRIMARY KEY (Menue)" +
" )" +
" COLLATE='utf8_general_ci'" +
"ENGINE=InnoDB;";
try {
/*** DROP ***/
stmt = conn.createStatement();
stmt.executeUpdate(createTable);
} catch (SQLException e) {
e.printStackTrace();
Controller.tblLogs.appendText(e + "\\n");
}
}
Daha sonra INSERT yaparken kullandigim fonksiyon asagidaki adresde: http://paste.ubuntu.com/15579741/
INSERT esnasinda hem DEBUG yaparsam hemde IntelliJ altinda console yazdirirsam, CINCE karakterler düzgün bir sekilde gösteriliyor. (bkz. asagidaki resim)
Buraya kadar hersey normal ve olmasi gerektigi gibi.
Fakat asil sorunum, herhangi bir Editor ile mysql e baglanip kontrol ettigimde bütün CINCE karakterler SORU ISARETI seklinde (bkz. asagidaki resim)
Kullandigim araclar; - Ubuntu 15, - MardiaDB 10 (XAMMP komplet paketinin icindeki) - IntelliJ 2016.1 Community Edition - mysql-connector-java-5.1.38
JDBC ile kullandigim STRING;
private final String DB_DRIVER = "com.mysql.jdbc.Driver";
private final String DB_CONNECTION = "jdbc:mysql://" + Controller.serverIP2 + ":3306/kasse_sql";
private final String DB_USER = "erkan";
private final String DB_PASSWORD = "erkan";
Sorum söyle; Verileri okurken Cince karakterleri düzgün okuyorum, gösterirken TAbleView de düzgün söteriyorum, IntelliJ altinda hem debug hemde consolda Cince karakterler düzgün bir sekilde göstermesine ragmen, Insert esnasinda neden bu cince karakterler yerine SORU isareti cikiyor olabilir?
Her türlü fikir icin simdiden tesekkürler.
Erkan Kaplan