Delphinin XE versiyonunda FireDAC Bileşenlerini kullanıyorum. Querylerin içi dolu olduğu için veritabanlarının ayarlarını da bu nesnelere göre ayarlı olması gerekmektedir. Query içerisinde ki alan tipi TStringField ise Tablo alanı da buna göre olmalı yoksa tip hatası verecektir.
Yani SQL serverda açtığım bir tablonun alanlarını MySQL de tanımladığımda proje içerisinde ki query field alan tipleri aynı olmamakta.
SQL Serverda ;
Alan1 Varchar (50) Query içerisinde TStringField tipinde iken
Alan2 NVarChar(50) Query içerisinde TWideStringField tipindedir.
Aynı alanları MySQL de tanımladığımda alanları açtığımda query içerisinde iki alanıda TStringField ya da TWideStringField olarak görüyorum. Connection nesnesinde ki character seti ayarına göre bu şekilde göstermektedir.
Kod: Tümünü seç
CREATE TABLE `tablom` (
`vAutoInc` INT(11) NOT NULL AUTO_INCREMENT,
`vInteger` INT(11) DEFAULT NULL,
`vDouble` DOUBLE(11,3) DEFAULT NULL,
`vCharacter` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_turkish_ci DEFAULT NULL,
`vNVarChar` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`vMemo` TEXT CHARACTER SET utf8 COLLATE utf8_turkish_ci,
`vNMemo` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci,
`vDate` DATE DEFAULT NULL,
`vTime` TIME DEFAULT NULL,
`vTimeStamp` TIMESTAMP NULL DEFAULT NULL,
PRIMARY KEY (`vAutoInc`)
) ENGINE=INNODB AUTO_INCREMENT=3 DEFAULT CHARSET=latin5
Delphi tarafında hiçbirşey yapmadan sadece MYSQL tarafında; SQL Serverda ki gibi alanları Query içerisinde (aynı tablo) kimi alan TSTringField kimi alanda TWideStringField olacak şekilde nasıl açabilirim ?
Yardımlarınız için şimdiden teşekkür ederim.