Dinamik Tablo olusturmak

C, C++ ve C++ Builder ile ilgili konuları buraya yazabilirsiniz.
Cevapla
swordholder
Üye
Mesajlar: 39
Kayıt: 15 Eki 2006 10:58

Dinamik Tablo olusturmak

Mesaj gönderen swordholder »

Selam,
degerli arkadaslar Borland C++ Builder de Tablo olusturma
problemiyle karsilastim, dinamik olarak tablo olusturulabilirmi?
Eger evet ise nasil?
Cunku Query componentiyle sql kullanarak olusturmayi cok denedim ama
bir turlu sql'deki "create table" syntax'ini kabul etmiyor.

Size gosteriyim ne yazdigimi:

Query->SQL->Clear();

Query->SQL->Add("CREATE TABLE `TestTable` (
`ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Number` INT NOT NULL,
`Name` VARCHAR(20) NOT NULL,
`Age` SHORT NOT NULL,
)");

Query->ExecSQL();


!!! Dinamik olarak tablo olusturma ve dinamik olarak tablolara (yani birden fazla olan
tablodan birini secerek baglanma) olayini biraz aciklayabilirmisiniz lutfen...

Allah razi olsun hepinizden
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1526
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

bu kullandığın veritabanıyla ilgili olabilir, örneğin paradox kullanıyorsan create edemezsin..
Resim

..::|YeşilMavi|::..
swordholder
Üye
Mesajlar: 39
Kayıt: 15 Eki 2006 10:58

Mesaj gönderen swordholder »

Ama tum veri taban tiplerini kullandim hic birinde create table yapmiyor.
Paradoxun veri tabaninda kendi ayri klasoru oluyor ama baska veri tabanlari icin BDE hic bir klasor filan belirlenmesini istemiyor. Yani tablo olustursa bile o tablo havada mi kalir???
Kullanıcı avatarı
dynamo
Üye
Mesajlar: 96
Kayıt: 21 Haz 2005 02:05
Konum: istanbul

Mesaj gönderen dynamo »

kodlarda syntax hatası var. aşağıdaki gibi düzelttim.

Kod: Tümünü seç


Query1->SQL->Clear();
Query1->SQL->Add("CREATE TABLE TestTable (ID AUTOINC ,Number INTEGER ,Name VARCHAR(20),Age INTEGER, PRIMARY KEY (ID) )");
Query1->ExecSQL();

kendi kullandığım tablo oluşturma örneği:

Kod: Tümünü seç



void __fastcall TFrm_Giris::Button1Click(TObject *Sender)
{
char TEMP[1024];


    Table1->DatabaseName="DATA_1";
    Table1->TableName="ARAC";

    if(!Table1->Exists){
        memset(TEMP,'\0',sizeof(TEMP));
        strcat(TEMP,"CREATE TABLE ARAC ");
        strcat(TEMP,"(kod           CHAR ( 8) ,");
        strcat(TEMP," musteri       CHAR ( 8) ,");
        strcat(TEMP," arac          CHAR ( 8) ,");
        strcat(TEMP," personel     CHAR ( 8) ,");
        strcat(TEMP," s1             CHAR ( 1) ,");
        strcat(TEMP," s2             CHAR ( 1) ,");
        strcat(TEMP," st              CHAR ( 8) ,");
        strcat(TEMP," PRIMARY KEY (kod))");
        Query1->Close();
        Query1->DatabaseName="DATA_1";
        Query1->SQL->Clear();
        Query1->SQL->Add(TEMP);
        Query1->ExecSQL();
    }

}
swordholder
Üye
Mesajlar: 39
Kayıt: 15 Eki 2006 10:58

Mesaj gönderen swordholder »

Allah razi olsun
Cevapla