Adrotator Sql Veritabanı Uygulaması
Merhaba arkadaşlar. Bu makalemizde Adrotator kontrolünün kullanımı ile ilgili Sql veritabanlı bir örnek yapacağız. Şekil 1 de gösterildiği Sql veritabanındaki tablonuzu oluşturun. Default.aspx sayfanıza Adrotator kontrolünü ekleyin. Bir de reklam.aspx sayfamız olacak. Adrotator kontrolüne tıklanıldığında, reklam.aspx sayfası açılacak. Burada tıklanma sayısını güncelleştireceğiz. Daha sonra Response.Redirect metodu ile reklamın site adresine yönlendirme yapacağız.
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:AdRotator ID="AdRotator1" runat="server"
onadcreated="AdRotator1_AdCreated" />
</div>
</form>
</body>
</html>
Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection baglan = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Adrotator.mdf;Integrated Security=True;User Instance=True");
SqlCommand komut = new SqlCommand("SELECT AlternateText, ImageUrl,NavigateUrl, Impression FROM Bilgiler WHERE Durum='True'",baglan);
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(komut);
da.Fill(dt);//DataTable gösterimi sağlanıyor.
//DataTable daki veriler AdRotator a kaynak gösteriliyor.
AdRotator1.DataSource = dt;
AdRotator1.DataBind();
}
protected void AdRotator1_AdCreated(object sender, AdCreatedEventArgs e)
{
SqlConnection baglan = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Adrotator.mdf;Integrated Security=True;User Instance=True");
//Sql veritabanındaki NavigateUrl sütunundaki bilgi alınıyor.
string id = e.NavigateUrl;
//Substring ile NavigateUrl sütunudaki verinin 15. karakteri
//alınıyor. Yani id değerini almış oluyoruz.
id = id.Substring(15);
//Alınan id değerine sahip satırın Görüntüleme sütunundaki değeri 1 artırıp
//Güncelleştiriyoruz.
SqlCommand komut = new SqlCommand("UPDATE Bilgiler SET Goruntuleme=Goruntuleme+1 WHERE ID=@ID", baglan);
komut.Parameters.AddWithValue("@ID", id);
baglan.Open();
komut.ExecuteNonQuery();
baglan.Close();
}
}
reklam.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class reklam : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
{
//Id değeri alınıyor.
string resimID = Request.QueryString["ID"];
SqlConnection baglan = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Adrotator.mdf;Integrated Security=True;User Instance=True");
// Resme tıklanma sayısı güncelleniyor.
SqlCommand komut = new SqlCommand("UPDATE Bilgiler SET Tiklama=Tiklama+1 WHERE ID=@ID", baglan);
komut.Parameters.AddWithValue("@ID", resimID);
baglan.Open();
komut.ExecuteNonQuery();
baglan.Close();
// Resmin URL adresi alınıyor.
SqlCommand komut2 = new SqlCommand("SELECT Link FROM Bilgiler WHERE ID=@ID",baglan);
komut2.Parameters.AddWithValue("@ID", resimID);
baglan.Open();
//Resmin url adresini aldık.
string url = komut2.ExecuteScalar().ToString();
baglan.Close();
// Resmin adresine yönlendirme yapılıyor.
Response.Redirect(url);
}
}
}
Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek dileğiyle. Hoşçakalın. Bahadır ŞAHİN