MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
cinarbil
Üye
Mesajlar: 109 Kayıt: 18 Mar 2014 09:26
Mesaj
gönderen cinarbil » 09 Tem 2015 02:04
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)
cinarbil
Üye
Mesajlar: 109 Kayıt: 18 Mar 2014 09:26
Mesaj
gönderen cinarbil » 09 Tem 2015 02:12
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)
mrmarman
Üye
Mesajlar: 4740 Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:
Mesaj
gönderen mrmarman » 09 Tem 2015 02:38
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;
cinarbil
Üye
Mesajlar: 109 Kayıt: 18 Mar 2014 09:26
Mesaj
gönderen cinarbil » 09 Tem 2015 03:46
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)
cinarbil
Üye
Mesajlar: 109 Kayıt: 18 Mar 2014 09:26
Mesaj
gönderen cinarbil » 09 Tem 2015 03:46
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)