Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

ASP’de Kolay Veritabanı Bağlantıları

Genellikle ilişkili tablolar, ilişkili verilerle çalışırken kısa veritabanı bağlantıları yapıyorum. Belli sorguya ait gelen verilerin sadece Unique ID lerine ihtiyacım oluyor. Bu verileri başka bir yerde kullanacağım ama bir sürü satır kod yazmam gerekiyor.

Önce veritabanı bağlantısı yap, sonra döngüye sok, sonra bu ID leri yanyana koyup virgülle ayır. PHP değil ki bu tek satırla tabloya bağlanıp, ikinci satırlada fetch_array() yapıp diziye alabilesin?

ASP RecordSet te Getrows metodu ile bunları bir arraye atayabiliyorsunuz. Fakat bu array 2 boyutlu olduğu için Join() ile birleştirip tek String haline getiremiyorsunuz. Çünkü Join() fonksiyonu multi-dimensional arrayleri kabul etmiyor. Yani tek tek string birleştirme yapmanız gerekiyor.

İşinize yarayabilecek fonksiyonum;

<%
Function VeriSorgu(Query,dbConnection)
Set rsSorgu = Server.CreateObject("ADODB.RecordSet")
 rsSorgu.Open Query,dbConnection,1,3
 VeriSorgu = "-1"
 If Not rsSorgu.Eof Then
  SorguDizi = rsSorgu.Getrows
  For SorguLoop = 0 To UBound(SorguDizi,2)
   VeriSorgu = VeriSorgu & "," & SorguDizi(0,SorguLoop)
  Next
 End If
 rsSorgu.Close : Set rsSorgu = Nothing
End Function
%>

Fonksiyona değer Olarak Query ve Database bağlantınızın adını veriyorsunuz. Çıktı olarak
-1,15,266,26126 olarak bir veri döndürüyor. Fakat verdiğiniz sorguda ID alanı gelen ilk değer olmalı…

Kullanım örnekleri

<%
AktifYazilar = VeriSorgu("Select VeriID from tblYazilar Where Durum=1",dbConn)
%>

Bu sayede AktifYazilar string inde aktif yazıların ID leri olacak. String in başında -1 değeri var, bunu isterseniz replace edebilirsiniz.

SQL Sorgularında in() fonksiyonu kullandığım için bu haliyle kullanıyorum, böylece geri dönen değer boş olduğu zamanlar SQL Sorgusunda hatayla karşılaşmıyorum.



This post first appeared on Selim TopaloÄŸlu, please read the originial post: here

Share the post

ASP’de Kolay Veritabanı Bağlantıları

×

Subscribe to Selim TopaloÄŸlu

Get updates delivered right to your inbox!

Thank you for your subscription

×