Bu yazımda SQL Server ortamına bağlanmayı bir class olarak oluşturup yine ConfigurationManager sınıfından da yararlanarak anlatacağım. Örneğimde WEB formumda sadece repeater nesnem olacak. Northwnd veritabanına bağlanarak Employees tablosundan EmployeeID, LastName ve FirstName alanlarını SELECT sorgusu ile çekeceğim.
Öncelikle WEB Config dosyama bağlantı işlemimi sağlayacak olan ConnectionStringimi tanımlıyorum.
Daha sonra aspx web formumun design kısmına bir adet Repeater ekliyorum. Bunun kodsal görünümü şu şekilde :
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
CodeBehind tarafında yazmış olduğum class ve veri çekme komutlarım mevcut bunlarda şu şekilde, açıklamaları kod bloğunda görebilirsiniz.
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; using System.Configuration; public partial class _Default : System.Web.UI.Page { //Bağlantı Sınıfım public class DBIslem { //Veritabanı bağlantım public SqlConnection Baglanti() { //Bağlantımı ConfigurationManager ile web config dosyasından çekiyorum string ConnectionString = ConfigurationManager.ConnectionStrings["NorthWindBaglanti"].ConnectionString; SqlConnection conn = new SqlConnection(ConnectionString); conn.Open(); return conn; } } //Sayfamın Page_load eventinde verilerimi gösteriyorum. protected void Page_Load(object sender, EventArgs e) { //oluşturduğum classtan yeni bir instance alıyorum. DBIslem baglan = new DBIslem(); SqlConnection baglantiNesnesi = baglan.Baglanti(); //SQL sorgu queryimi yazıyorum. SqlCommand comm = new SqlCommand("SELECT EmployeeID,LastName,FirstName FROM Employees",baglantiNesnesi); //SqlDataReader nesneni oluşturuyorum SqlDataReader reader; try { //Repeater kullanarak veriyi okuyorum. reader = comm.ExecuteReader(); Repeater1.DataSource = reader; Repeater1.DataBind(); reader.Close(); } catch { //hata olursa Response.Write("Bir hata oluştu!"); } finally { //bağlantımı kapatıyorum. baglantiNesnesi.Close(); } } }
Merhaba öncelikle paylaştığınız bütün yazılarınız için herkes gibi bende teşekkür ederim..Ufak bir sorum olacaktı
repeater içinde istediğim verileri nasıl gösterebilirim ? mesela yazılar adında ki tablo’da 10 tane veri olsun ben sadece benim seçtiğim atıyorum 1. ve 6. verilerin gözükmesini istiyorum bunu nasıl yapabilirim?
İstediğiniz verileri gösterebilmek için SQL Query kısmında filtreleme yapabilirsiniz. Örneğin Yazılar tablosunda ID’si 1 ve 6 olanları sadece göstermek için SQL kısmında tablolamada bir alan tanımlayıp bu alanda aktif – pasif yazı şeklinde istediğiniz yazıların durumunu belirtebilirsiniz.Repeater kontrolü içinde de SQL Query yazarken bu alanın durumuna göre örneğin sadece aktif yazıları listeleme şartı koşabilirsiniz. Kodsal olarak takıldığınız bir nokta var ise kodlarınızı ve yapınızı yollayın birlikte bakalım.
Teşekkür ederim ilgilendiğiniz için.. asp.net VB konusunda yeni sayılırım bundan daha önce masaüstü programlama VB.NET kodsal deneyimim mevcut fakat SQL sorguları’nda ve bunu asp.net ortamına yansıtmada baya eksiklerim mevcut..Blog’unuzu vakit buldukça takip ediyorum bu eksiğimi giderebilmem için güzel yazılarınız mevcut. Aslında dediğiniz gibi aktif yazılar için tablo içinde farklı bir sütün açılabilir bunun için sql sorgu kodlarına başvurmamız gerekecek sanırım.. şu şekilde yapıyordum böylede tek veri çekiyordu haliyle
Function yazioku(ByVal id As Integer) As String
Dim vt As New OleDbConnection(“Provider=Microsoft.JET.OLEDB.4.0;Data Source=” & (Yeni.App_Path() & “App_Data\DBM.mdb”))
Dim komut As New OleDbCommand
Dim veriler As System.Data.OleDb.OleDbDataReader
Try
vt.Open()
komut.Connection = vt
komut.CommandText = “Select * from Yazilar where ID=” & id
komut.ExecuteNonQuery()
veriler = komut.ExecuteReader
‘ i = 0
‘Do While veriler.Read
Repeater2.DataSource = veriler
Repeater2.DataBind()
‘ Response.Write(veriler(1)
‘Loop
vt.Close()
Catch ex As Exception
Response.Write(ex.Message)
End Try
End Function
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
yazioku(2)
End Sub
üstteki mesajım eksik çıkmış
source kısmıda şu şekilde
Mehmet bey istiyorsanız C# kodları ile ASP.NET uygulaması olarak bu konuda örnek bir iki yazı yazayım, siz bu yazılardan VB Scripte göre uyarlama yapın. Hem yeni bir yazı olmuş olur hemde diğer arkadaşlar faydalanır. 1-2 gün içinde bu yazıları yayınlarım.
Tekrar teşekkür ediyorum yazılarınızı bekliyorum