none
Tırnak ayırmada sorun Id ye göre data listeleyemiyorum RRS feed

  • Soru

  • merhaba

    DataTable dtSosyete = system.GetDataTable("SELECT dbo.Sosyeteler.Adi, dbo.Sosyeteler.Soyadi FROM dbo.Temsilciler INNER JOIN dbo.Sosyeteler ON dbo.Temsilciler.TemsilciId = dbo.Sosyeteler.TemsilciId");

    şeklinde sorunsuz çalışıyor ama ne zaman  TemsilciId aynı olanları listelesin diyorum o zaman hata veriyor sanırım tırnakğı yanlış yerden ayırıyorum

    böyle değilmi

    DataTable dtSosyete = system.GetDataTable("SELECT dbo.Sosyeteler.Adi, dbo.Sosyeteler.Soyadi FROM dbo.Temsilciler INNER JOIN dbo.Sosyeteler ON dbo.Temsilciler.TemsilciId = dbo.Sosyeteler.TemsilciId = '" + TemsilciId + "'");
    25 Mart 2015 Çarşamba 13:53

Tüm Yanıtlar

  • Niye Where koşuluna yazmıyorsunuz ? Ya da And kullanmanız gerekmektedir.

    Select S.Adi, S.Soyadi From Temsilciler T Inner Join Sosyeteler S On T.TemsilciId = S.TemsilciId -- 1.yol And T.TemsilciId = @temsilciId --2. Yol

    Where S.TemsilciId = @temsilciId --ya da T.TemsilciId = @temsilciId

    dbo kullanmanıza burada gerek yok, Alias(S, T gibi) kullanmanız okunurluğu arttır. Ne yaptığınızı tam bilmemekle birlikte burada inner join kullanmanıza gerek yok gibi. Tabi tablo yapınzıda bilmiyoruz orası ayrı konu.

    Sql Injection'a açık vermemek için tırnak içinde herhangi birşey kullanmayın parametre kullanın. Bunun kullanımı hakkında forumda binlerce örnek verildi.



    • Düzenleyen Berdann 25 Mart 2015 Çarşamba 14:13
    • Yanıt Olarak Öneren CetinBasoz 26 Mart 2015 Perşembe 09:43
    • Yanıt Önerisini Geri Alan CetinBasoz 26 Mart 2015 Perşembe 09:45
    • Yanıt Olarak Öneren CetinBasoz 26 Mart 2015 Perşembe 09:45
    25 Mart 2015 Çarşamba 14:12
  • Niye Where koşuluna yazmıyorsunuz ? Ya da And kullanmanız gerekmektedir.

    Select S.Adi, S.Soyadi From Temsilciler T Inner Join Sosyeteler S On T.TemsilciId = S.TemsilciId -- 1.yol And T.TemsilciId = @temsilciId --2. Yol

    Where S.TemsilciId = @temsilciId --ya da T.TemsilciId = @temsilciId

    dbo kullanmanıza burada gerek yok, Alias(S, T gibi) kullanmanız okunurluğu arttır. Ne yaptığınızı tam bilmemekle birlikte burada inner join kullanmanıza gerek yok gibi. Tabi tablo yapınzıda bilmiyoruz orası ayrı konu.

    Sql Injection'a açık vermemek için tırnak içinde herhangi birşey kullanmayın parametre kullanın. Bunun kullanımı hakkında forumda binlerce örnek verildi.



    Server Error in '/httpdocs' Application.

    Incorrect syntax near '='.

    hatasını veriyor

    hala aynı


    25 Mart 2015 Çarşamba 14:22
  • sizde haklısınız... :D

    Benim yazdığımı tekrar okuduktan sonra tam olarak yazdığınız kodların tamamını paylaşır mısınız?

    25 Mart 2015 Çarşamba 14:33
  • DataTable dtSosyete = system.GetDataTable("SELECT dbo.Sosyeteler.Adi, dbo.Sosyeteler.Soyadi FROM dbo.Temsilciler INNER JOIN dbo.Sosyeteler ON dbo.Temsilciler.TemsilciId = dbo.Sosyeteler.TemsilciId=@TemsilciId");

    ben bu şekilde anladım

    rica etsem doğrusunu benim yukarıda paylaştığım koda ekleme yaparmısınız

    25 Mart 2015 Çarşamba 15:02
  • Yukarda ben size dbo nuın gereksiz olduğundan alias kullanmanızdan bahsettim üstüne zaten sorgunuzu düzeltip 2 yoldan bahsetttim. Siz karşı tarafın emeğini düşünmeden bildiğiniz şeyi yapcaksanız buraya yazmanın bir anlamı yok. 1.yol, 2.yol diye not düştüm sizin bunlardan birini ayırt edemenizin anlamı sizin bu sorgu GetDataTable fonksiyonuna parametre geçemiyeceğiniz anlamına gelir. Eğer @temsilciId eksik diye bir hata verirse bunun sebebi budur.

    SELECT dbo.Sosyeteler.Adi, dbo.Sosyeteler.Soyadi FROM dbo.Temsilciler INNER JOIN dbo.Sosyeteler ON dbo.Temsilciler.TemsilciId = dbo.Sosyeteler.TemsilciId
    And dbo.Temsilciler.TemsilciId=@TemsilciId

    25 Mart 2015 Çarşamba 15:10
  • yapabilsem zaten buradan yardım istemem.verdğiniz kodlarlada yapamadım

    ama siz yazınca where şart eklemeyi unuttuğumu fark ettim şart ekledim oldu istediğim

    teşekkürler

    26 Mart 2015 Perşembe 06:58