C#nedir?com Homepage
Forum Home Forum Home > C# / .NET > Visual C#
  New Posts New Posts RSS Feed - yaw anlamadim
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

yaw anlamadim

 Post Reply Post Reply
   

Author
Message
ozsuerk View Drop Down
Newbie
Newbie


Joined: 13 Ocak 2003
Location: Türkiye
Status: Offline
Points: 3
Post Options Post Options   Thanks (0) Thanks(0)   Quote ozsuerk Quote  Post ReplyReply Direct Link To This Post Topic: yaw anlamadim
    Posted: 05 Kasım 2005 at 14:15
Arkadaslar daha yeniyim.dataview,datasource,dataset bunlar1n fark1 nedir?ben databaeê baglan1nca ne kullancam.nerde nasil baglant1 kullancam..dataset mi,datasource'mu,dataview'mi yoksa baya kafamm1 karismis?tesekkurler.Aciklayici yazarsaniz sevinirim.hatta degisik kullanim yerleri varsa neden bu tur baglantinin kullanildigini da yazarsaniz sevinirim..tesekkurler takrar
Seyyah oldum sözüm bildim,gizlendim içime..Anladım ki insan kalbine yolcu...
Üstad Murat Çelik
Back to Top
yakamoz View Drop Down
Groupie
Groupie


Joined: 16 Ocak 2003
Status: Offline
Points: 161
Post Options Post Options   Thanks (0) Thanks(0)   Quote yakamoz Quote  Post ReplyReply Direct Link To This Post Posted: 05 Kasım 2005 at 17:14

 

 Merhaba çook yakında bu konular hakkında bir kaç makale geliyor.. Bizi izlemeye devam edin..

İyi çalışmalar..

Back to Top
algans View Drop Down
Moderator Group
Moderator Group


Joined: 05 Ocak 2003
Location: Türkiye
Status: Offline
Points: 376
Post Options Post Options   Thanks (0) Thanks(0)   Quote algans Quote  Post ReplyReply Direct Link To This Post Posted: 05 Kasım 2005 at 17:46

  merak ettiğin konu ile ilgili aşağıdaki adreste yazılmış bir makale mevcut.

http://www.yazgelistir.com/akademik/makaleler_detay.aspx?id=18

(tabi önce üye olman gerekir.)

Sefer Algan
www.csharpnedir.com
Back to Top
bluetr View Drop Down
Newbie
Newbie


Joined: 09 Şubat 2003
Location: Türkiye
Status: Offline
Points: 25
Post Options Post Options   Thanks (0) Thanks(0)   Quote bluetr Quote  Post ReplyReply Direct Link To This Post Posted: 06 Kasım 2005 at 22:20

selam asagidaki yazi isinize yarar sanirim

ADO.NET'e Giriş

Temel Başlıklar

  • Ado.NET nedir?
  • ADO.NET ile ADO arasındaki fark nedir?
  • Provider lar nasıl kullanılır?
  • .Net içinde veriye erişim yçntemleri?
  • ADO.NET içindeki temel nesneler
  • Veri Tabanına bağlanma
  • Command nesnesi'inin action sorgularda kullanımı
  • Command nesnesi'inin Select  sorgularında kullanımı
  • Command nesnesi'inin Stored Procedur lerde kullanımı
  • DataAdapter ve Dataset
  • Dataset ile işlemler

ADO.NET Nedir?

Microsoft'un .Net platformunda veri erişim teknolojisinin yeni jenerasyonudur.İnternet ve dağıtılmış uygulamalar için ado.net kullanılır.Ado.Net, xml için güçlü bir destek sağlamasının yanında veri sürecine bağlı olmadan(offline) çalışmayada olanak sağlar.

ADO.NET'in  ADO'dan farkı nedir?

Ado.net ADO'dan oldukça farklıdır.Programcılar offline veritabanına bağlantı için RDS gibi çeşitli yöntemler kullanmaktadırlar.ADO'nun nesne modeli ADO.NET'e göre daha dar kapsamlıdır.

Ado.net , ADO'dan daha farklıdır.Veritabanına offline  olarak bağlanabilmek için programcılar çeşitli  yollar geliştirmişlerdi,offline recordset gibi.ADO:NET ile karşılaştırıldığında ADO'nun nesne modeli daha az kapsamlıdır.Uygulamalarda hem ado hemde ADO.NET kullanılabilinir.

Provider'ların kullanımı:

ODBC driver ile oLEDB provider'ına benzer bir provider'dır.Veritabanı ile bağlantılı yapılan işlemlerde kullanılır.ADO.NET 2 provider sağlar.Birtanesi SQLServer Managed Provider'ı , bu oldukça verimli ve etkin olarak bağlantı şeklidir.OLEDB managed Provider  ise Access ve diğer veritabanlarına bağlanırken kullanılır.Bu veriye erişim API'leri aynı isimuzayı içindedir.

.Net içindeki veriye erişim isimuzayları :

En yaygın

  • System.Data
  • System.Data.OleDb
  • System.Data.SQLClient
  • System.Data.SQLTypes
  • System.Data.XML

ADO.NET'in Temel  Nesneleri :

  • OleDbConnection / SQLConnection
  • OleDbCommand / SQLCommand
  • OleDbDataReader / SQLDataReader
  • OleDbDataAdapter / SQLDataAdapter
  • OleDbParameter / SQLParameter
  • DataSet
  • DataTable
  • DataView
  • DataRow
  • DataColumn

Yukarıda belirtilen bir çok nesne 'Stand-alone' şekilde oluşturulabilinir.Aşağıdaki açıklamalarda oledb nesneleri ile örnekler verilmiştir.SQL Server nesneleri kullanılırken de sadece nesnelerin başındaki ilk isim oledb yeni sqlclient oluyor.

Veritabanına Bağlantı nasıl kurulur?

ADO'dakine benzer bir veritabanına bağlantı yolu kullanılır:

Dim cnn as OleDbConnection
cnn=new OleDbConnection("OLEDB_connection_string") 

cnn.open()
'use connection here

cnn.close()

 

Action sorgularında Command nesnesi kullanımı:

Dim cmd as OleDbCommand
Dim cnn as
OleDbConnection
cnn=new OleDbConnection("OLEDB_connection_string") 

cnn.open()

cmd=

newOleDbCommand("my_action_query",cnn)        

cmd.ExecuteNonQuery()
cmd.CommandText=
"new_query"

Select sorgularında Command Nesnesi  nasıl kullanımı:

Bir DataReader'a  Command nesnesinin sorgu sonucunu atadıgımızda sorgu sonucu kayıtlarını biriktirebiliriz.

Dim dr as OleDbDataReader
Dim cmd as OleDbCommand
Dim cnn as OleDbConnection
cnn=new OleDbConnection("OLEDB_connection_string") 

cnn.open()

cmd=new OleDbCommand("my_select_query",cnn)

dr=cmd.ExecuteReader()

do while dr.read()

   response.write(dr("field1"))

loop

dr.close()

Command Nesnesi kullanarak Stored Procedure'ü çalıştırmak:

Stored Prosedürlerin çalıştırılması tıpkı sorgular gibidir:

Dim cmd as OleDbCommand

Dim p as OleDbParameter
Dim cmd as OleDbCommand
Dim cnn as OleDbConnection
cnn=new OleDbConnection("OLEDB_connection_string") 

cnn.open()

cmd=new OleDbCommand("my_stproc_name",cnn)

p=new OleDbParameter("name",type,width)

p.value="myvalue"
cmd.parameters.Add(p)
'add all the parameters in the same way

   cmd.ExecuteNonQuery()

Data Adapter ve DataSet

Dataset veritabanımızdaki verilerin veritabanına bağlantımız olmadan taşımayı sağlar.Dataset birçok RecordSet2in birikmiş hali gibi düşünülebilinir.Herbir recordset Datatable olarak çağırılır.DataTable'da join kullanılarak oluşturulmuş sorgulardan oluşabilir.Dataset bir datatable koleksiyonundan daha güçlüdür.Dataset içindeki tablolar içinde biz ilişkiler ve sabitler tanımlayabiliriz.Dataset,Datatable ve Datarow ları biz  programsal olarak runtime'da da oluşturabilir eklemeler ve değişiklikler yapabiliriz.

Dataadapter ise Dataset ile Datasetimizi  aldığımız veri tabanı arasındaki veri iletişimini sağlarken kullanırız.DataAdapter'in en temel fonksiyonları aşağıdaki gibidir:

  • Veritabanından veri getirerek, Dataset oluşturmak 
  • Dataset'de yapılan değişiklikleri Veritabanında güncellemesini yapmak.

 

How do i populate a dataset?

DataAdapter'in Fill yöntemi ile dataset'e veri aktarılır.Bir DataAdapter birçok tablonun Dataset'e aktarılmasında kullanılabilinir.

Dim dscmd as OleDbDataAdapter

Dim ds as Dataset
dscmd=new OleDbDataAdapter("sql_select_statement",cnn)

ds=new DataSet()
dscmd.Fill(ds,"data_table_name")
Dataset'in navigasyonu:
Dim row as DataRow
For each row in ds.Tables("data_table_name").Rows

    row.Columns("field1").toString()

Next

Datatable'a kayıt ekleme:

Dim row as DataRow
row=ds.Tables("recordset_name_in_ds").NewRow()

row("field1")="value1"

row("field1")="value1"

.

.
ds.Tables("recordset_name_in_ds").Rows.Add(row)

dscmd.Update(ds,"data_table_name")

DataTable'daki kayıtları değiştirme:

Dim row as DataRow
'i herhangi bir rakam olabilir(kolon nosu tabiki)
row=      ds.Tables("data_table_name").Rows(i)

row("field1")="value1"

row("field1")="value1"

dscmd.update(ds,"data_table_name")

DataTable'dan satir silme :

ds.Tables("data_table_name").Rows(i).Delete

dscmd.update(ds,"data_table_name")

Verilerin Filtrelenmesi:

DataTable nesnesinin select metodunu kullanarak istediğiniz koşullara göre verilerin filtrelemeniz mümkün.

Dim rows() as DataRow
rows=ds.Tables(0).Select("condition_similar_to_where_clause")

Hataların Yakalanması:

Hataları yakalamanın birçok yolu vardır. try..catch en yaygın olanıdır.Çeşitli işlem aşamalarındaki hatalarıda biriktirebilecegimiz bir mekanizma ADO.Net tarafından sağlanır.

Dim cnn as OleDbConnection
Dim cmd as OleDbDataAdapter
Dim ds as Dataset
Dim errors as DataRow() 
       cnn=new OleDbConnection("connection_string") 
cnn.open()
ds=new dataset() 
	cmd=    new
OleDbDataAdapter("select_query",cnn)
cmd.Fill(ds,"data_table_name") 

ds.Tables("data_table_name").Rows(0).RowError =
"Herhangi bir hata msg" 

ds.Tables("data_table_name").Rows(1).RowError = " baska bir hata msg" 

if ds.tables("users").HasErrors then
	errors = ds.tables("data_table_name").GetErrors()
	' do something with erroraneous rows
end if
Ayrıca RowError property'sindende veritabanından olan hatalar yakalanarak okunabilinir.

Transactionların yakalanması:

ADO.NET 'de OleDbTransaction nesnesi ile  transactionların kontrolu yapılabilir. 

OleDbConnection 'ın BeginTransaction method metodu kullanılarak geriye dönen nesne kullanılır.

Dim tran as OleDbTransaction
Dim cnn as OleDbConnection
cnn=new OleDbConnection("connection_string")
try 

      cnn.open() 
      tran=
  cnn.BeginTransaction() 
      cmd=new OleDbCommand("some_sql",cnn) 

  cmd.Transaction=
 tran 
      cmd.ExecuteNonQuery() 

      cmd.commandtext=
 "some_other_sql" 
      cmd.ExecuteNonQuery() 

      tran.Commit() 

catch myException as Exception 

      tran.Rollback() 

end try

www.webonly.net 

Back to Top
ozsuerk View Drop Down
Newbie
Newbie


Joined: 13 Ocak 2003
Location: Türkiye
Status: Offline
Points: 3
Post Options Post Options   Thanks (0) Thanks(0)   Quote ozsuerk Quote  Post ReplyReply Direct Link To This Post Posted: 10 Kasım 2005 at 15:57
saolun arkadaslar..herkese kolay gelsin..
Seyyah oldum sözüm bildim,gizlendim içime..Anladım ki insan kalbine yolcu...
Üstad Murat Çelik
Back to Top
 Post Reply Post Reply
  Share Topic   
   


Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 11.01
Copyright ©2001-2014 Web Wiz Ltd.