1

Konu: C# SQL yöntemi

C#' a geçiş sürecinde olan birisi için sql bağlantısı ve çalışma biçimi olarak neyi önerirsiniz?

Mesela Linq diye birşey var, onu mu kullanmalıyım (onda bir çok şeyi kendi hallediyor) veya herşeyi sqlConnection kullanarak kendim mi yazmalıyım. Bu işi profesyonelce yapmak için hangi yöntemi, çalışma biçimini benimsemem gerekir.

2

Re: C# SQL yöntemi

Özgür,
Cevap biraz zaman bagimli:) Bugun soruyorsan SqlConnection, SqlCommand ...
Linq,Dlinq vs ciktiktan sonra soruyorsan muhtemelen Linq:) Daha cikmadi betada.

Isin acikcasi Linq cikmis bile olsa sen hepsini ogrensen iyi edersin derim.

Bu arada UT'deki sorun icin bunu yazmistim buraya da kopyeleyeyim:

Visual Fox Pro
loParents = FindParents("AccountType")

For ix = 1 To loParents.Parents
  ? loParents.aParent[m.ix].ParentAlias, loParents.aParent[m.ix].RelationalExpr
Endfor
 
Function FindParents(tcChild)
  Local Array aTables[1]
  Local ix,jx, oParentInfo, lnParents
  oParentInfo = Createobject('Empty')
  AddProperty(oParentInfo,'Parents',0)
  AddProperty(oParentInfo,'aParent[32767]')
  For ix=1 To Aused(aTables)
    For jx=1 To 32767
      If Empty(Relation(m.jx,aTables[m.ix,1]))
        Exit
      Endif
      If Target(m.jx,aTables[m.ix,1]) == Upper(m.tcChild)
        oParentInfo.Parents = oParentInfo.Parents + 1
        oParentInfo.aParent[oParentInfo.Parents] = Createobject('Empty')
        AddProperty(oParentInfo.aParent[oParentInfo.Parents],;
          'ParentAlias',aTables[m.ix,1])
        AddProperty(oParentInfo.aParent[oParentInfo.Parents],;
          'RelationalExpr',Relation(m.jx,aTables[m.ix,1]))
      Endif
    Endfor
  Endfor
  Dimension oParentInfo.aParent[MAX(oParentInfo.Parents,1)]
  Return oParentInfo
Endfunc

3

Re: C# SQL yöntemi

Devforce'a baktin mi bu arada? Onunla hicbirini kullanmasan da olur:) O senin yerine o zamanin en uygun ve resmi yayinlanmis yontemini kullaniyor.

4

Re: C# SQL yöntemi

Bu arada sizin musterilerin kendi SQL serverlari var di mi? Amma sanslisiniz:) Dogrudan C# ile SP,UDF filan yazabilirsiniz. Ben bir de hosting firmalarinin buna izin verip vermemesiyle ugrasiyorum:(

5

Re: C# SQL yöntemi

Selam Özgür,
Ben DbConnection kullanıyorum.
Aslında Foxdaki SPT dan bir farkı yok.
Örneğin:
string dataProvidername = "System.Data.SqlClient";
string connectionString = "initial catalog=ctapan"
+ ";data source=kod"
+ ";user id=kod"
+ ";password=kod"
+ ";Packet Size=8000";
           
DbProviderFactory factory = DbProviderFactories.GetFactory(dataProvidername);
DbConnection conn = factory.CreateConnection();
conn.ConnectionString = connectionString;
DbCommand comm = conn.CreateCommand();
comm.CommandType = CommandType:Text;
comm.CommandText = "Select * from kart";
DataTable Kartlar = comm.ExecuteReader();


Sürekli Aynı işlemi her seferinde yapmamak içinde bir class'a attım bağlantı kısmını(GenericDataAccess.cs).  Onuda sana mail atıyorum. o zaman kod şöyle oluyor:

DbCommand oCommand = GenericDataAccess.CreateCommand();
oCommand.CommandType = CommandType.Text;
oCommand.CommandText = " Select * from kart ";
DataTable kartlar = GenericDataAccess.ExecuteSelectCommand(oCommand);

Hem GenericDataAccess.cs içinde sql den dönecek hataları yakalamak için try catch de yapıyor.
İşine yarayabilir.

6

Re: C# SQL yöntemi

C# a yeni başlıyorsan bende DevExpress'i tavsiye ederim. 
Hazır nesneler. Çetin abinin FoxyClasses gibi.
C# ınkilerden çok daha gelişmiş ve üstelik kodlama bile kısalıyor.
DevForce desteğide var (Çetin abi öyle söyledi) mış.
Birde InfraGistics var. Onunda demosunu indirdim. ikisi neredeyse %100 aynı. Ben devexpress kullandım.

http://www.devexpress.com/
http://www.infragistics.com/

7

Re: C# SQL yöntemi

hepinize çok teşekkür ederim.
bu arada çetin abi ut'deki soruya verdiğin yanıt için de teşekkür ederim.

8

Re: C# SQL yöntemi

devforce için senin verdiğin görsel dersin dosyalarını indirip izlemiştim. Ama bana Wizard gibi geldiğinden kendim kodlarımı kendim yazarsam daha iyi olur gibime gelmişti. smile

9

Re: C# SQL yöntemi

ctapan yazdı:

C# a yeni başlıyorsan bende DevExpress'i tavsiye ederim. 
Hazır nesneler. Çetin abinin FoxyClasses gibi.
C# ınkilerden çok daha gelişmiş ve üstelik kodlama bile kısalıyor.
DevForce desteğide var (Çetin abi öyle söyledi) mış.
Birde InfraGistics var. Onunda demosunu indirdim. ikisi neredeyse %100 aynı. Ben devexpress kullandım.

http://www.devexpress.com/
http://www.infragistics.com/


Merhaba
bu sözünü ettiğin programların ne işe yaradığını biraz açarmısın ? Bende c# ile ilgilenmeye başladım da. Amerikayı yeniden keşfetmiyeyim.

Selamlar

10

Re: C# SQL yöntemi

Merhaba,
.Net in kinden daha gelişmiş nesneler. Grid,combo,form ,dateedit , calcedit, lookupedit, menü  v.s. aklına ne geliyorsa. Hatta .net den daha fazla nesne var.
.Net in kendi nesnelerinin bazıları foxdan bile zayıf (kendin geliştirebilirsin ama).
Bunlar bir hayli geliştirmişler.
Şöyle söyleyeyim. .Net in hazır nesneleri foxdan zayıf. Bu componentlerdekiler ise foxdan da güçlü.
Her ikisininde demosu var. indirip incelemek için .net bilemeye gerek yok.
C# ve vb destekliyor .