Sql Database bulunan tabloya baglanma

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
Kullanıcı avatarı
cinarbil
Üye
Mesajlar: 109
Kayıt: 18 Mar 2014 09:26

Sql Database bulunan tabloya baglanma

Mesaj gönderen cinarbil »

formda adoconnection + Adoquery + adotable +dbgrid + datasource var
Aşağıdaki kod ile
sql database ulaşıyorum
database içindeki tabloya ulaşamıyorum
yapmak istediğim Sql içinde bulunan LKSDB database içindeki LG_015_ITEMS tablosuna ulaşarak stok bilgilerini dbgrid e aktarmak

Kod: Tümünü seç

procedure Tparametrefrm.Bt_sql_baglanClick(Sender: TObject);
var
UserName,PassWord,Server,baglanayar,mesaj:Ansistring;
begin
sunucu_baglan.Connected := False; // database açıksa kapat
username:=kullanici.Text;
password:= sifre.Text;
server:=server_adi.Text;
baglanayar:= 'Provider=SQLOLEDB.1;Persist Security Info=False;' +
  'User ID=%s;Password=%s;Data Source=%s;Use Procedure for Prepare=1;' +
  'Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;'+
  'Tag with column collation when possible=False;';
  sunucu_baglan.ConnectionString:= Format(baglanayar,[UserName, PassWord, Server]);
  sunucu_baglan.LoginPrompt := False;
  try
    sunucu_baglan.Connected := True; // 
    showmessage ('Sunucu Bağlantısı Başarılı.') ;
    ticari_table.Connection := sunucu_baglan;
    ticari_table.ReadOnly   := true;
    ticari_table.TableName  := 'LG_015_ITEMS';
    showmessage ('tabloya bağlanacak.') ;
    ticari_table.Active:=true;               //////   BURADA HATA VERİYOR except sonrası çalışıyor

    //grid_baglanti.DataSet   := ticari_table;
    //dbgrid1.DataSource      := grid_baglanti;
      except
      showmessage ('Sunucu veya Tablo Bağlantısında hata oluştu.') ;


   end; // try sonu

end;
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Kullanıcı avatarı
cinarbil
Üye
Mesajlar: 109
Kayıt: 18 Mar 2014 09:26

Re: Sql Database bulunan tabloya baglanma

Mesaj gönderen cinarbil »

Not : except kaldırılınca verdiği hata
Özellik değeri geçersiz. Değerin doğru olarak yazıldığından emin olun. mesajı veriyor.

tüm ayarları ekli componentler üzerinde yapınca çalışıyor.

Kod: Tümünü seç

ticari_table.TableName  := 'LG_015_ITEMS';   
// burada tablename widestring olması gerek ; 'LG_015_ITEMS' convert etmek mi gerek
convert edilmeli ise nasıl
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Sql Database bulunan tabloya baglanma

Mesaj gönderen mrmarman »

ConnectionString örneği vereyim basit olarak şöyle dene.. Sonra kendi eklentilerini yaparsın. Bana göre Initial Catalog olan yerdeki katalog adını vermediğin için tabloya bağlanamamışsındır.

Kod: Tümünü seç

    xMSSQL = 'Provider=SQLOLEDB.1;' 
            +'Persist Security Info=True;'
            +'Data Source=%s;'
            +'Initial Catalog=%s;'
            +'User ID=%s;'
            +'Password=%s;'
            +'Trusted_Connection=true;'
            ;

Kod: Tümünü seç

    ADOConnection_Dummy.Connected        := False;
    ADOConnection_Dummy.ConnectionString := Format( xMSSQL, [xSanalXP_Server, xSanalXP_Catalog, xMSSqlUserID, xMsSqlPassword ]);
    ADOConnection_Dummy.LoginPrompt      := False;
Resim
Resim ....Resim
Kullanıcı avatarı
cinarbil
Üye
Mesajlar: 109
Kayıt: 18 Mar 2014 09:26

Re: Sql Database bulunan tabloya baglanma

Mesaj gönderen cinarbil »

Sayın mrmarman
Allah razı olsun haklısınız
Initial Catalog=%s ile işlem tamam

Kod: Tümünü seç

procedure Tparametrefrm.Bt_sql_baglanClick(Sender: TObject);
var
UserName,PassWord,Server,database_adi,baglanayar,mesaj:Ansistring;
begin
sunucu_baglan.Connected := False; // database açıksa kapat
username:=kullanici.Text;
password:= sifre.Text;
server:=server_adi.Text;
database_adi:= tablo_adi.Text;

baglanayar:= 'Provider=SQLOLEDB.1;Persist Security Info=False;' +
             'User ID=%s;Password=%s;Data Source=%s;Use Procedure for Prepare=1;' +
             'Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;'+
             'Tag with column collation when possible=False;'+
             'Initial Catalog=%s;';
  sunucu_baglan.ConnectionString:= Format(baglanayar,[UserName, PassWord, Server,database_adi]);
  sunucu_baglan.LoginPrompt := False;
  try

    sunucu_baglan.Connected := True; // hatasız bağlandı.
    showmessage ('Sunucu Bağlantısı Başarılı.') ;
    ticari_table.Connection := sunucu_baglan;
    ticari_table.ReadOnly   := true;
    ticari_table.TableName  := 'LG_015_ITEMS';
    showmessage ('tabloya bağlanacak.') ;
    ticari_table.Active:=true;

    grid_baglanti.DataSet   := ticari_table;
    dbgrid1.DataSource      := grid_baglanti;
    except
      showmessage ('Sunucu veya Tablo Bağlantısında hata oluştu.') ;


   end; // try sonu

end;
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Kullanıcı avatarı
cinarbil
Üye
Mesajlar: 109
Kayıt: 18 Mar 2014 09:26

Re: Sql Database bulunan tabloya baglanma

Mesaj gönderen cinarbil »

Sayın mrmarman
Allah razı olsun haklısınız
Initial Catalog=%s ile işlem tamam

Kod: Tümünü seç

procedure Tparametrefrm.Bt_sql_baglanClick(Sender: TObject);
var
UserName,PassWord,Server,database_adi,baglanayar,mesaj:Ansistring;
begin
sunucu_baglan.Connected := False; // database açıksa kapat
username:=kullanici.Text;
password:= sifre.Text;
server:=server_adi.Text;
database_adi:= tablo_adi.Text;

baglanayar:= 'Provider=SQLOLEDB.1;Persist Security Info=False;' +
             'User ID=%s;Password=%s;Data Source=%s;Use Procedure for Prepare=1;' +
             'Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;'+
             'Tag with column collation when possible=False;'+
             'Initial Catalog=%s;';
  sunucu_baglan.ConnectionString:= Format(baglanayar,[UserName, PassWord, Server,database_adi]);
  sunucu_baglan.LoginPrompt := False;
  try

    sunucu_baglan.Connected := True; // hatasız bağlandı.
    showmessage ('Sunucu Bağlantısı Başarılı.') ;
    ticari_table.Connection := sunucu_baglan;
    ticari_table.ReadOnly   := true;
    ticari_table.TableName  := 'LG_015_ITEMS';
    showmessage ('tabloya bağlanacak.') ;
    ticari_table.Active:=true;

    grid_baglanti.DataSet   := ticari_table;
    dbgrid1.DataSource      := grid_baglanti;
    except
      showmessage ('Sunucu veya Tablo Bağlantısında hata oluştu.') ;


   end; // try sonu

end;
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla