adoquery ile olmayan tabloları oluşturma

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
kodcuminik
Üye
Mesajlar: 140
Kayıt: 11 Oca 2009 10:25

adoquery ile olmayan tabloları oluşturma

Mesaj gönderen kodcuminik »

program ilk çalıştırıldığında create table ile tabloları oluşturmak istiyorum ama nasıl
yani txt olarak sorgu mevcut fakat
adoqury ile bu nasıl gerçekleştirebilirim
teşekkürler.
bilmezler bilmediklerinide bilmezler ama kendilerini bilir sanırlar
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: adoquery ile olmayan tabloları oluşturma

Mesaj gönderen mrmarman »

Merhaba.

- Cevaplanmamış sorulara bakıyordum gördüm, boş kalmasın istedim... :o Çoktan çözmüşsündür ama başlığa bakanlar için cevap olsun.

- TAdoCommand isimli nesne ile bu işlemi gerçekleştirebilirsiniz. Kullanımı basittir.

- Size kendi kullandığım şekliyle bir procedure vereyim. Öncelikle klasik işlem olarak TAdoConnection ile bağlantı şemanızı oluşturun. Sonra vereceğim procedure içerisinde parametre olarak önce bu AdoConnection'u sonra da KomutListesi içerisine sizin elimde var dediğiniz text olan CREATE TABLE SQL scriptini verin ve gerisini o halletsin.
- Burada dikkat edersen göreceksin, tablo yoksa create eder, varsa dokunmaz. Önce DROP TABLE etmelisin... :idea:

// Sana teşmili birden kullanımını göstereyim :

Kod: Tümünü seç

procedure TForm1.BitBtn1Click(Sender: TObject);
Const
    xMSSQL = 'Provider=SQLOLEDB.1;'
            +'Persist Security Info=True;'
            +'Data Source=%s;'
            +'Initial Catalog=%s;'
            +'User ID=%s;'
            +'Password=%s;'
            +'Trusted_Connection=true;'
            ;
Var
  strSQL : String;
begin
  // AdoConnection hazırlığı
  ADOConnection1.Connected        := False;
  ADOConnection1.ConnectionString := Format( xMSSQL, ['localhost,1433', 'VeritabaniDB', 'LoginName', 'LoginPassword' ]);
  AdoConnection1.LoginPrompt      := False;

  // Önce SQL Metnini hazırlayalım...
  // burada dikkat edersen göreceksin, tablo yoksa create eder, varsa dokunmaz. Önce DROP TABLE etmelisin...
  strSQL :=
     ' IF NOT EXISTS (select * from dbo.sysobjects'
     + '  where id = object_id(N''[dbo].[PERSONEL]'') '
     + '  and OBJECTPROPERTY(id, N''IsUserTable'') = 1)  '
     + 'CREATE TABLE [PERSONEL] ('
     + '  P_KaySiraNo    INT IDENTITY(1,1) CONSTRAINT PK_PersonelKayNo PRIMARY KEY NOT NULL'
     + ', P_SicilNo      INT NOT NULL'
     + ', P_BasinNo      INT'
     + ', P_TCKimlik     VARCHAR(11) '
     + ', P_Adi          VARCHAR(50) '
     + ', P_Soyadi       VARCHAR(50) '
     + ', P_Unvan        VARCHAR(50) '
     + ', P_Gorevi       VARCHAR(50) '
     + ', P_CepTel       VARCHAR(15) '
     + ' )';
  // Şimdi Tablo Oluşturma işlemi
   TabloOlustur( ADOConnection1, strSQL );
end;
// Procedure aşağıdaki gibi

Kod: Tümünü seç

procedure TabloOlustur( AdoConnection:TAdoConnection; strKomutListesi : String);
// Uses ADOdb eklenecek.
Var
  ADOCommand    : TADOCommand;
begin
  AdoCommand    := TADOCommand.Create(Nil);
  AdoCommand.Connection := AdoConnection;
  ADOCommand.CommandText:=  strKomutListesi;
  If ADOCommand.CommandText <> '' then
  begin
    ADOCommand.Prepared := true;
    ADOCommand.Execute;
  end;
  ADOCommand.Free;
end;
Başarılar. :idea:
Resim
Resim ....Resim
kodcuminik
Üye
Mesajlar: 140
Kayıt: 11 Oca 2009 10:25

Re: adoquery ile olmayan tabloları oluşturma

Mesaj gönderen kodcuminik »

Geç olsa da tşk ederim hocam :) bilginin zekatıda bu sizin yaptığınız olsa gerek.
bilmezler bilmediklerinide bilmezler ama kendilerini bilir sanırlar
Cevapla