|
SQLEXPRESS Veritabanı ve Tablosu
1.Aşama veritabanı oluşturun
CREATE DATABASE [ResimlerDB]
2.Aşama oluşturmuş oldugunuz veritabanına verileri kaydedeceğiniz yeni bir tablo oluşturun
USE [ResimlerDB]
CREATE TABLE [dbo].[Resimler](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ResimAdi] [nvarchar](150) COLLATE Turkish_CI_AS NOT NULL,
[Resim] [image] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Default.aspx – Sayfası
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ResimGoster.aspx.cs" Inherits="ResimGoster" %>
<!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>GridView'e resim baglama örnegi</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:Label ID="lblID" runat="server" Text='<%# Eval("ID") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Resim Adı">
<ItemTemplate>
<asp:Label ID="lblResimAdi"
runat="server" Text='<%# Eval("ResimAdi") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:ImageField DataImageUrlField="ID"
DataImageUrlFormatString="ViewResim.aspx?ID={0}"
HeaderText="Resim"
ControlStyle-Height="150px"
ControlStyle-Width="250px" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
Default.aspx.cs – Sayfası
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class ResimGoster : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
VeriYukle();
}
}
protected void VeriYukle()
{
ClassResim r = new ClassResim();
GridView1.DataSource = r.GetAllResimler();
GridView1.DataBind();
}
}
ClassResim.cs – Sayfası
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections.Generic;
public class ClassResim
{
private int _ID;
private string _ResimAdi;
private byte[] _Resim;
public int ID
{
get { return this._ID; }
set { this._ID = value; }
}
public string ResimAdi
{
get { return this._ResimAdi; }
set { this._ResimAdi = value; }
}
public byte[] Resim
{
get { return this._Resim; }
set { this._Resim = value; }
}
public ClassResim()
{
}
/*
* SQLEXPRESS'teki ResimlerDB isimli veritabanından
* Resimler isimli Tablodaki tüm verileri
* GridView'e bağlayacak metodumuz
*/
public List<ClassResim> GetAllResimler()
{
List<ClassResim> Resimler = new List<ClassResim>();
string veritabanibaglantisi =@"Server=.\SQLEXPRESS;
Database=ResimlerDB;
Trusted_Connection=true;";
string strSQL = "SELECT * FROM Resimler";
using (SqlConnection sqlConn = new SqlConnection(veritabanibaglantisi))
{
SqlCommand sqlComm = new SqlCommand(strSQL, sqlConn);
sqlConn.Open();
SqlDataReader sqlDr = sqlComm.ExecuteReader();
/*
* Read() metodu içinde veri varsa true döndürür.
* veri okuma işlemi bittiğinde false döndürür.
* false döndügü anda while döngüsü sonlanır.
*/
while (sqlDr.Read())
{
ClassResim r = new ClassResim();
r._ID = (int)sqlDr["ID"];
r._ResimAdi = sqlDr["ResimAdi"] as String;
r._Resim = (byte[])sqlDr["Resim"];
Resimler.Add(r);
}
return Resimler;
}
}
/*
* SQLEXPRESS'teki ResimlerDB isimli veritabanından
* Resimler isimli Tablodaki tüm resimleri
* GridView'e bağlayacak metodumuz
*/
public byte[] GetResimByID(int resimID)
{
byte[] Resim = null;
string veritabanibaglantisi = @"Server=.\SQLEXPRESS;
Database=ResimlerDB;
Trusted_Connection=true;";
string strSQL = "SELECT Resim FROM Resimler WHERE ID=@ID";
using (SqlConnection sqlConn = new SqlConnection(veritabanibaglantisi))
{
SqlCommand sqlComm = new SqlCommand(strSQL, sqlConn);
sqlComm.Parameters.AddWithValue("@ID", resimID);
sqlConn.Open();
Resim = (byte[])sqlComm.ExecuteScalar();
}
return Resim;
}
}
ViewResim.aspx – Sayfası
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ViewResim.aspx.cs" Inherits="ViewResim" %>
<!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>ID'ye göre veritabanından resimleri göster</title>
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>
ViewResim.aspx.cs - Sayfası
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class ViewResim : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ResimFormatla();
}
}
private void ResimFormatla()
{
ClassResim r = new ClassResim();
int ID = 0;
if (Request.QueryString["ID"] != null)
ID = Convert.ToInt32(Request.QueryString["ID"]);
byte[] Picture = r.GetResimByID(ID);
Response.OutputStream.Write(Picture, 0, Picture.Length);
}
}
|