Forum

SQL Server Compact'...
 
Bildirimler
Hepsini Temizle

SQL Server Compact'a Bağlantı ve Hızlı Sorgu

4 Yazılar
3 Üyeler
0 Reactions
528 Görüntüleme
(@UfukDeniz)
Gönderiler: 95
Estimable Member
Konu başlatıcı
 

Merhabalar ...


El terminali üzerine bir sayım programı yazmaya çalışıyorum .. aslında iyi gidiyorum. .Net ten neredeyse hic anlamama ragmen 🙂


Cogu bitti azi kaldi ... Program urun kontrolu yapiyor ... yaptigim testlerde 500-1000 adet urun veri tabaninda kayitli iken degilde 10.000-15.000 urun kayitli iken barkodu okuttugumda ~2-3 sn bekleyip islem yapiyor .. yani sorgu oldukca gec calisiyor ..


Kullandigim Kod :


Public Function DataTableGetir(ByVal strSQL As String) As DataTable
Dim cmd As New SqlCeCommand(strSQL, ConnObj)
cmd.CommandTimeout = 0
Dim da As New SqlCeDataAdapter(cmd)
Dim ds As New DataSet()
Try
da.Fill(ds, "TABLE")
Return ds.Tables("TABLE")
Catch hata As SqlCeException
Throw New Exception(hata.Message)
Finally
End Try
End Function


'_______________________________________________________________


Dim dt As DataTable = DataTableGetir("Select nUrunID As UrunID From tbUrun Where sBarkod='" & Trim(TextBox2.Text) & "'")
If dt.Rows.Count = 0 Then
MsgBox(TextBox2.Text & " - Ürünrn Bulunamad !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Hata !")
Else
'.
'.
'.
End If


Bu işlemin sonucunu daha hızlı döndürecek bir sorgu var mıdır ?
Biraz araştırdım .. bir kaç örnek kod buldum. mesela


        conn = New SqlCeConnection
        conn.set_ConnectionString("Data.sdf")
        conn.Open
        conn.CreateCommand
        cmd.set_Connection(conn)


ama bu kodu kullandığımda    conn.set_ConnectionString("Data.sdf") ve   cmd.set_Connection(conn) satırlarında hata alıyorum. bu komutların çalışması için bir referans mı eklemem gerekiyor ..


Bu konuda yardimlariniz rica ediyorum ..

 
Gönderildi : 09/11/2009 21:12

(@mesutaladag)
Gönderiler: 327
Reputable Member
 

Merhabalar,


  http://msdn.microsoft.com/en-us/library/system.data.sqlserverce.sqlceconnection.connectionstring(VS.85).aspx   makalesindeki ornekleri incelemenizi oneririm. Yapmaniz gereken degisiklik ya da kullanim tarzını buradaki orneklerde bulabilirsiniz.


 iyi calismalar,


Mesut ALADAĞ
Microsoft MVP

 
Gönderildi : 09/11/2009 23:07

(@UfukDeniz)
Gönderiler: 95
Estimable Member
Konu başlatıcı
 

Yanit icin tesekkurler .. ama yinede hizda bir degisiklik elde edemedim .. 🙁

 
Gönderildi : 12/11/2009 14:33

(@GokhanDOGAN)
Gönderiler: 780
Prominent Member
 

Connection stringi aşağıdaki örnek gibi hazırlayın.

 

conn.ConnectionString = 
"Persist Security Info = False; Data Source = 'SalesData.sdf';" +
"Password = '<password>'; File Mode = 'shared read'; " +
"Max Database Size = 256; Max Buffer Size = 1024"

 
Gönderildi : 13/11/2009 23:35

Paylaş: