Yazilim Öğrenmenin Tek Adresi...
Daha İyi Bir Hizmet İçin Lütfen Üye Olunuz...
Yazilim Öğrenmenin Tek Adresi...
Daha İyi Bir Hizmet İçin Lütfen Üye Olunuz...
Yazilim Öğrenmenin Tek Adresi...
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Yazilim Öğrenmenin Tek Adresi...

En Kapsamlı Visual Basic Sitesi
 
AnasayfaAramaLatest imagesKayıt OlGiriş yap
Giriş yap
Kullanıcı Adı:
Şifre:
Beni hatırla: 
:: Şifremi unuttum
Arama
 
 

Sonuç :
 
Rechercher çıkıntı araştırma
En son konular
» C İle Banka Otomasyonu Acill
SQL'de Tarih Kullanmak Icon_minitimeC.tesi Ocak 09, 2010 4:51 pm tarafından Ebubekir_Kara

» C++'la yapılmış basit ATM programı
SQL'de Tarih Kullanmak Icon_minitimeÇarş. Ara. 02, 2009 4:43 am tarafından 1221ibrahim

» Bir Oyunda Puan Sistemi Yapma
SQL'de Tarih Kullanmak Icon_minitimePtsi Kas. 02, 2009 1:49 pm tarafından KonYalıCoder

» Ipconfig Komutu
SQL'de Tarih Kullanmak Icon_minitimePaz Eyl. 13, 2009 5:33 pm tarafından OguzhanUyanik

» Çalıştır Komutları
SQL'de Tarih Kullanmak Icon_minitimePaz Eyl. 13, 2009 5:33 pm tarafından OguzhanUyanik

» Domain Adresleri
SQL'de Tarih Kullanmak Icon_minitimePaz Eyl. 13, 2009 5:32 pm tarafından OguzhanUyanik

» Msconfig Nedir? Ayarları ve Özellikleri
SQL'de Tarih Kullanmak Icon_minitimePaz Eyl. 13, 2009 5:32 pm tarafından OguzhanUyanik

» Windows Vista & Türkçe Kurulumu Resimli anlatım!
SQL'de Tarih Kullanmak Icon_minitimePaz Eyl. 13, 2009 5:31 pm tarafından OguzhanUyanik

» Format atmak ve Türkçe windows xp kurulumu (resimli anlatım)
SQL'de Tarih Kullanmak Icon_minitimePaz Eyl. 13, 2009 5:31 pm tarafından OguzhanUyanik

» Windows Xp Hızlandırma
SQL'de Tarih Kullanmak Icon_minitimePaz Eyl. 13, 2009 5:30 pm tarafından OguzhanUyanik

En iyi yollayıcılar
OguzhanUyanik (472)
SQL'de Tarih Kullanmak Vote_lcapSQL'de Tarih Kullanmak I_voting_barSQL'de Tarih Kullanmak Vote_rcap 
mehmet bozer (78)
SQL'de Tarih Kullanmak Vote_lcapSQL'de Tarih Kullanmak I_voting_barSQL'de Tarih Kullanmak Vote_rcap 
asi_esra (4)
SQL'de Tarih Kullanmak Vote_lcapSQL'de Tarih Kullanmak I_voting_barSQL'de Tarih Kullanmak Vote_rcap 
mysterious_el (4)
SQL'de Tarih Kullanmak Vote_lcapSQL'de Tarih Kullanmak I_voting_barSQL'de Tarih Kullanmak Vote_rcap 
1221ibrahim (3)
SQL'de Tarih Kullanmak Vote_lcapSQL'de Tarih Kullanmak I_voting_barSQL'de Tarih Kullanmak Vote_rcap 
igny (3)
SQL'de Tarih Kullanmak Vote_lcapSQL'de Tarih Kullanmak I_voting_barSQL'de Tarih Kullanmak Vote_rcap 
tarkantr2000 (2)
SQL'de Tarih Kullanmak Vote_lcapSQL'de Tarih Kullanmak I_voting_barSQL'de Tarih Kullanmak Vote_rcap 
myildiz.16 (2)
SQL'de Tarih Kullanmak Vote_lcapSQL'de Tarih Kullanmak I_voting_barSQL'de Tarih Kullanmak Vote_rcap 
KAPORTACI (2)
SQL'de Tarih Kullanmak Vote_lcapSQL'de Tarih Kullanmak I_voting_barSQL'de Tarih Kullanmak Vote_rcap 
tolgakesan (2)
SQL'de Tarih Kullanmak Vote_lcapSQL'de Tarih Kullanmak I_voting_barSQL'de Tarih Kullanmak Vote_rcap 

 

 SQL'de Tarih Kullanmak

Aşağa gitmek 
YazarMesaj
OguzhanUyanik
Mareşal
Mareşal
OguzhanUyanik


Yengeç Mesaj Sayısı : 472
Kayıt tarihi : 31/08/09
Yaş : 31
Nerden : Konya
İş/Hobiler : Bilgisyar-Yazılım
Lakap : Nediz

SQL'de Tarih Kullanmak Empty
MesajKonu: SQL'de Tarih Kullanmak   SQL'de Tarih Kullanmak Icon_minitimeSalı Eyl. 08, 2009 2:28 pm

Standarlara uymama sorunu genellikle veritabanlarında karşımıza çıkıyor. Veritabalarında veri tipleri ve sintakslarının farklı olması bizi veritabanı bağımlı kod yazmak zorunda bırakır.Veri tabanlarında kod içinde dönüşümü ve kullanılması en güç veri tipi tarih tipleridir. Bu makalemizde C# programa dili ile Oracle , MS SQL Server ve Access gibi sık kullandığımız veritabanlarında tarih kullanımını inceleyeceğiz.

Öncelikle kullanıcı arayüzünden veritabanına gönderilmesini inceleyelim. Access , MS SQL Server yada Oracle databasezlerinde tablomuzu oluşturalım.Tablomuz aşağıdaki alanlarda oluşsun.

ID integer,

ADI varchar(50)

DOGUM_TARIHI

Veri tabanı bağlantısını sağlamak için Baglatı fonksiyonunu oluşturalım.

public static OleDbConnection Baglanti(){

stringProvider="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Database\\deneme.mdb";

//Provider="Provider=SQLOLEDB;data source=localhost;initial catalog=deneme;integrated security=sspi";

//Provider="Provider=OraOLEDB.Oracle.1;data source=spatial.deneme.com.tr;User ID=deneme;Password = deneme";

OleDbConnection myConnection = new OleDbConnection();

myConnection.ConnectionString = Provider;

if(myConnection.State == ConnectionState.Closed || myConnection == null)

myConnection.Open(); return myConnection;

}




Kodl 1: Veri tabanı bağlantıs

Veri tabanları için oluşturduğumuz tarih fonksiyonlarını oluşturalım.Kullanacağınız veritabanına göre hangisini çağırmak istediğinize kod içerisinde karar verebilirsiniz.

//Oracle için kullanabileceğiniz Fonksiyon
public static string DateTime_forOracle(DateTime value)
{
if(value==Convert.ToDateTime("01.01.0001"))
return "NULL";
else
return "TO_DATE(’" + Convert.ToDateTime(value).ToString("dd-MM-yyyy") + "’,’dd.mm.yyyy’)";

}

//Microsoft SQL Server için Fonksiyon
public static string DateTime_forSQLServer(DateTime value)
{
if(value==Convert.ToDateTime("01.01.0001"))
return "NULL";
else
//smalldatetime tipi kullanıma göre değiştirilebilir
return "Convert(smalldatetime,’" + Convert.ToDateTime(value).ToString("MM-dd-yyyy") + "’)";

}

//Access için kullanabileceğiniz Fonksiyon
public static string DateTime_forAccess(DateTime value)
{
if(value==Convert.ToDateTime("01.01.0001"))
return "NULL";
else
{
string Time = "";
Time = value.ToString("#MM/dd/yyyy#");
Time = Time.Replace(".","/");
return Time;

}


Kod 2: Fonksiyonlar
Yukarıda yazdığımız fonksiyonları bir sınıfta birleştirirsek bir nevi kendi kutuphanemizi oluşturmuş oluruz.

using System;
using System.Data;
using System.Data.OleDb;

namespace TarihDonusturme
{
/// <summary>
/// Summary description for Fonksiyonlar.
/// </summary>
public class Fonksiyonlar
{

public static OleDbConnection Baglanti()
{

stringProvider="";Provider="Provider=Microsoft.Jet.OLEDB.4.0;DataSource= C:\\Database\\BELOTOM.mdb";</P> < Palign=left> < /FONT>

//Provider="Provider=SQLOLEDB;data source=localhost;initial catalog=deneme;integrated security=sspi";
//Provider="Provider=OraOLEDB.Oracle.1;data source=spatial.borat.com.tr;User ID=belotom;Password = belotom";

OleDbConnection myConnection = new OleDbConnection();
myConnection.ConnectionString = Provider;
if(myConnection.State == ConnectionState.Closed || myConnection == null)
myConnection.Open();

return myConnection;

}

//Oracle için kullanabileceğiniz Fonksiyon
public static string DateTime_forOracle(DateTime value)
{
if(value==Convert.ToDateTime("01.01.0001"))
return "NULL";
else
return "TO_DATE(’" + Convert.ToDateTime(value).ToString("dd-MM-yyyy") + "’,’dd.mm.yyyy’)";

}

//Access için kullanabileceğiniz Fonksiyon
public static string DateTime_forAccess(DateTime value)
{
if(value==Convert.ToDateTime("01.01.0001"))
return "NULL";
else
{
string Time = "";
Time = value.ToString("#MM/dd/yyyy#");
Time = Time.Replace(".","/");
return Time;

}

}

//Microsoft SQL Server için Fonksiyon
public static string DateTime_forSQLServer(DateTime value)
{
if(value==Convert.ToDateTime("01.01.0001"))
return "NULL";
else//smalldatetime tipi kullanıma göre değiştirilebilir

return "Convert(smalldatetime,’" + Convert.ToDateTime(value).ToString("MM-dd-yyyy") + "’)";

}
}
}


Kod 2: Fonksiyonların birleştirilmesi

Sorgulama yapabileceğimiz örnek bir sınıf (class) oluşturalım.Deneme sınıfında private değişkenler, public değişkenler, yapıcılar ve tarih fonksiyonunu gibi kullanacağımız fonksiyonlar yer almakta.

using System;
using System.Data;
using System.Data.OleDb;

namespace TarihDonusturme
{
/// <summary>
/// Summary description for Deneme.
/// </summary>
// Deneme Classı
public class DENEME
{
// private değişkenlerimiz
private System.Int32 _ID;
private System.String _ADI;
private System.DateTime _DOGUM_TARIHI;

// public değişkenlerimiz
public System.Int32 ID
{
get{return _ID;}
}

public System.String ADI
{
get{return _ADI.Trim();}
set{_ADI= value;}
}

public System.DateTime DOGUM_TARIHI
{
get{return _DOGUM_TARIHI;}
set{_DOGUM_TARIHI= value;}
}

// Yapıcılarımız(constructors)
public DENEME()
{
Yeni();
}

// Private fonksiyonlar

private void Yeni() {
_ID = 0;
_ADI = "";
_DOGUM_TARIHI = Convert.ToDateTime("01.01.0001");}

public static DENEME[] TarihSorgula( System.DateTime Ilk_Tarih , System.DateTime SonTarih)
{
//Kullanacağımız database göre tarih fonksiyonunu değiştiebiliriz
string SQL = "SELECT * FROM DENEME WHERE DOGUM_TARIHI >="+Fonksiyonlar.DateTime_forAccess(Ilk_Tarih) +" AND DOGUM_TARIHI<="+Fonksiyonlar.DateTime_forAccess(SonTarih);

System.Data.OleDb.OleDbDataAdapter _Adapter=new System.Data.OleDb.OleDbDataAdapter();
_Adapter.SelectCommand=new System.Data.OleDb.OleDbCommand(SQL);
_Adapter.SelectCommand.Connection=Fonksiyonlar.Baglanti();

System.Data.DataTable _Table=new System.Data.DataTable();
_Adapter.Fill(_Table);

DENEME[] _Deneme = new DENEME[_Table.Rows.Count];
for(int i =0 ; i <_Table.Rows.Count ;i++)
{
_Deneme[i] = new DENEME();
_Deneme[i]._ID = Convert.ToInt32(_Table.Rows[i]["ID"]);
_Deneme[i]._ADI = Convert.ToString(_Table.Rows[i]["ADI"]);
_Deneme[i]._DOGUM_TARIHI = Convert.ToDateTime(_Table.Rows[i]["DOGUM_TARIHI"]);
}
return _Deneme;

}

}

}

Kod 3: Deneme adlı sınıf üzerinde SQL cümlesi ve tarih fonksiyonunu kullanılması
Son olarak ta yapmış olduğumuz fonksiyonların çalışması için örnek bir form oluşturalım.





private void button1_Click(object sender, System.EventArgs e) {

try {

DENEME[] _TempList ;

_TempList = DENEME.TarihSorgula(Convert.ToDateTime(textBoxIlk_Tarih.Text),Convert.ToDateTime (textBoxSon_Tarih.Text));

listViewListe.Items.Clear();

ListViewItem _li;

for(int i = 0 ; i < _TempList.Length ;i++)

{

_li = new ListViewItem();

_li.Text = _TempList[i].ID.ToString();

listViewListe.Items.Add(_li);

_li.SubItems.Add(_TempList[i].ADI);

_li.SubItems.Add(_TempList[i].DOGUM_TARIHI.ToString());

}

}

catch(Exception ex) { MessageBox.Show(ex.Message); }

}




Kod 4:Sorgula buttonunun altına yazacağımız kod.

Bu ve buna benzer fonksiyonlar diğer kullanılan veritabanları için de yapılabilir. Böylelikle bizi zaman kaybından ve zorluklardan birazda olsa kurtarmış olur .
Sayfa başına dön Aşağa gitmek
https://yazilimnet.yetkin-forum.com
 
SQL'de Tarih Kullanmak
Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Yazilim Öğrenmenin Tek Adresi... :: Masaüstü Programlama :: Veritabanları & SQL-
Buraya geçin: