Arkasokak Logo
Kayıtsız, hoş geldiniz.





Forum Arkasokak > HAYATIN İÇİNDEN > İnternet Teknoloji Tasarım » ADO.NET II(Disconnect processes)
ADO.NET II Bu makalede ise SQL Server kullanarak hedef databasedeki verileri Disconnect olarak çekeceğiz.Bu işlem için yine bir connection nesnesi ...

Cevap
  #1  
Eski 19-07-2006, 07:41 PM
empedoCles kullanıcısının avatarı
Müdavim
 
Giriş: Sep 2005
Mesaj: 123
empedoCles İtibar düzeyini kapadı
ADO.NET II(Disconnect processes)

ADO.NET II

Bu makalede ise SQL Server kullanarak hedef databasedeki verileri Disconnect olarak çekeceğiz.Bu işlem için yine bir connection nesnesi kullanacağız fakat bu sefer connection nesnemizi Open metpduyla açmayacağız.Disconnect olarak çalıştığımız için arka tarafta zaten connection nesnemiz açılacak bir seferde belirtilen sql cümlesine göre tüm kayıtlar çeklicek ve biz bu işlemleri DataSet dediğimiz bir ortamda gerçekleştireceğiz.Şimdi farklı Class'larımızı bir inceleyelim.
SqlClient namespace'ini import etmeyi unutmayın...
SqlDataAdapter Class'ı
Bu class'ıda SqlCommand nesnesi gibi düşünebilirsiniz.Ama SqlDataAdapter nesnesi daha avantajlıdır.Şöyleki;
Kayıtlar arasında ileri ve geriye doğru hareket edebiliriz.Update işlemleri dahada kolay ve hızlı şekilde yapılır.Bunlar avantajların bazıları...En çok kullanılan ve önemli metodu ise Fill metodudur.Belirtilen DataSet'in içini doldurmaya yarar.

da.Fill(ds)
Tabi burada DataSet yerine DataTable'da doldurabilirdik...

DataTable Class'ı
DataTable nesnesi verilerin bulunduğu alandır.DataTable nesnesi DataSet'i oluşturan en küçün birim olarakta tanımlanabilir.
Columns property'si ile o kolona ait özellikler alınabilir, Rows property'si ile o row'a ait bilgiler alınabilir.
DefaulkView property'si ile DataTable nesnesinin içinde bulunan değerler aynen yansıtılır.
Accept Changes metodu ile DataTable nesnesindeki değişiklikleri kabul ederiz.
Reject Changes metodu ile DataTable nesnesinde yapılan değişiklikleri geri almış oluruz.
Clear metodu ile DataTable içindeki tüm bilgiler silinir.Dikkat : Sadece DataTable nesnesinden SQL'den değil!
NewRow metodu ilede DataTable içinde yeni bir satır oluştururuz.

DataSet Class'ı
DataSet içinde DataTable'ları ilişkileri barındıran bir alan olarak anlatılabilir.Genelde ilişkilendirme gibi işlemler yapılacaksa DataSet üzerinden gidilmesi daha mantıklıdır.DataSet kullanılarak DataGrid doldurulacaksa şöyle yazılmalıdır;

DataGrid1.DataSource = ds.Tables(0) : Tables'a bir index değeri verilir.Bu array şeklindedir.DataSet'in içindeki DataTable'ların numarasıdır.
DataTable kullanmasak bile arka tarafta bizim için bir datatable nesnesi oluşturulur.

DataRelation Class'ı
Bu nesne kullanılarak ilişkilendirme yapabiliriz.İlişkilendirme yaparken DataTable nesnelerimizi kullanırız.Önemli nokta bu nesne mutlaka DataSet içinde kullanılmasıdır.

Şimdi bir örnek yapalım.Yine Northwind tablosundaki verieri bu sefer disconnect olarak bir DataGrid'in içine dolduralım;

Imports System.Data.SqlClient
PublicClass Form1
Inherits System.Windows.Forms.Form
#
Region " Windows Form Designer generated code "
PublicSubNew()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
EndSub
'Form overrides dispose to clean up the component list.
ProtectedOverloadsOverridesSub Dispose(ByVal disposing AsBoolean)
If disposing Then
IfNot (components IsNothing) Then
components.Dispose()
EndIf
EndIf
MyBase.Dispose(disposing)
EndSub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
FriendWithEvents DataGrid1 As System.Windows.Forms.DataGrid
<System.Diagnostics.DebuggerStepThrough()>
PrivateSub InitializeComponent()
Me.DataGrid1 = New System.Windows.Forms.DataGrid
CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).BeginIni t()
Me.SuspendLayout()
'
'DataGrid1
'
Me.DataGrid1.DataMember = ""
Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText
Me.DataGrid1.Location = New System.Drawing.Point(0, 0)
Me.DataGrid1.Name = "DataGrid1"
Me.DataGrid1.Size = New System.Drawing.Size(464, 328)
Me.DataGrid1.TabIndex = 0
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(520, 341)
Me.Controls.Add(Me.DataGrid1)
Me.Name = "Form1"
Me.Text = "Form1"
CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).EndInit( )
Me.ResumeLayout(False)
EndSub
#EndRegion
PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
Dim conn AsNew SqlConnection("Data source=.; initial catalog=Northwind; uid=sa; pwd=123;")
Dim da AsNew SqlDataAdapter("select firstname from Employees", conn)
Dim ds AsNew DataSet
Try
da.Fill(ds)
DataGrid1.DataSource = ds.Tables(0)
Catch ex As Exception
MessageBox.Show(ex.Message)
EndTry
EndSub
End
Class
imza

#include <middleeast.h>

#define ISRAELIS foul_beasts






empedoCles kullanıcısına MSN aracılığı ile mesaj yolla
Alıntı Yaparak Cevapla
Cevap

Konu Araçları
Görünüm Modları



Saat 05:04 AM.


Copyright ©2005 - 2008 Arkasokak.Net
Tasarım: NoDRaC
Bize Ulaşın - Gizlilik İlkesi - En Üst
Powered by vBulletin
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0