Asp.Net İle Mssql Den 2 Tarih Arası Veri Çekmede Hata
-
çok basit ancak nedense çalıştıramadım 2 saattir :(
Conversion failed when converting date and/or time from character string.
bu hatayı gridview3.databind() ta almaktayım. Neler denedim ancak çalıştıramadım lütfen müridler bi el atın olaya kafayı yicem..
kodlarımda şunlar:
tm = TextBox5.Text;
tm1 = TextBox6.Text;
kmt.CommandText = "SELECT id, arizasahibi, arizane, durum, arizatarih, birimi, cozumtarih, aciklama, cozumaciklama FROM arizayolla WHERE arizatarih between 'tarih1' and 'tarih2'";
kmt.Parameters.AddWithValue("tarih1" , tm);
kmt.Parameters.AddWithValue("tarih2" , tm1);
kmt.Connection = baglanti;
baglanti.Open();
dr = kmt.ExecuteReader();
GridView3.DataSource = dr;
GridView3.DataBind();
baglanti.Close();not: textboxların içinde ajax calender özelliği var tıklayınca takvim açılıyor ve seçim yaptırıyor..
-
kmse yok mu ark. lar yardım edebilecek?
-
sqlde veri tipi ne date mi string mi ??
-
eger calender ozelliginde ayrıca saat de seciyorsan bundan kaynaklanabilir. birde arkadasın dedigi gibi string mi tanımladın yoksa date olarakmı? bence manuel olarak veri tabanında sql query de sorguyu bir dene. orda calısırsa senin ajax calender da bi sıkıntı vardır. birde sanırım procedure yazmıssın ordaki convert tipin nedir?
-
aql de date olarak tanımladım bu arada ajax ta hata olabilir normal calender ile çalıştırabildim şimdi ajax ı bidaha denicem teşekkürler...
-
tm = TextBox5.Text; tm1 = TextBox6.Text; kmt.CommandText = "SELECT id, arizasahibi, arizane, durum, arizatarih, birimi, cozumtarih, aciklama, cozumaciklama FROM arizayolla WHERE arizatarih between 'tarih1' and 'tarih2'"; kmt.Parameters.AddWithValue(convertto.datetime("tarih1") , tm); kmt.Parameters.AddWithValue(convertto.datetime("tarih2") , tm1); kmt.Connection = baglanti; baglanti.Open(); dr = kmt.ExecuteReader(); GridView3.DataSource = dr; GridView3.DataBind(); baglanti.Close();
dene bakalım -
UCANTENEKE bunu yazdı:
-----------------------------
tm = TextBox5.Text; tm1 = TextBox6.Text; kmt.CommandText = "SELECT id, arizasahibi, arizane, durum, arizatarih, birimi, cozumtarih, aciklama, cozumaciklama FROM arizayolla WHERE arizatarih between 'tarih1' and 'tarih2'"; kmt.Parameters.AddWithValue(convertto.datetime("tarih1") , tm); kmt.Parameters.AddWithValue(convertto.datetime("tarih2") , tm1); kmt.Connection = baglanti; baglanti.Open(); dr = kmt.ExecuteReader(); GridView3.DataSource = dr; GridView3.DataBind(); baglanti.Close();
dene bakalım
-----------------------------tm = TextBox5.Text;
tm1 = TextBox6.Text;
kmt.CommandText = "SELECT id, arizasahibi, arizane, durum, arizatarih, birimi, cozumtarih, aciklama, cozumaciklama FROM arizayolla WHERE arizatarih between '"+tm+"' and '"+tm1+"'";
kmt.Connection = baglanti;
baglanti.Open();
dr = kmt.ExecuteReader();
GridView3.DataSource = dr;
GridView3.DataBind();
baglanti.Close();şu şekilde yaptım çalıştı hocam :))) teşekkür ederim ilgilendiğin için ajaxta da sıkıntı yokmuş tarihi ay gün yıl şeklinde göndermem gerekiyormuş
-
bunuda bi deneseydin şimdi açamıyorum vs yi aklıma takıldı:D
-
efecan123 bunu yazdı:
-----------------------------UCANTENEKE bunu yazdı:
-----------------------------
tm = TextBox5.Text; tm1 = TextBox6.Text; kmt.CommandText = "SELECT id, arizasahibi, arizane, durum, arizatarih, birimi, cozumtarih, aciklama, cozumaciklama FROM arizayolla WHERE arizatarih between 'tarih1' and 'tarih2'"; kmt.Parameters.AddWithValue(convertto.datetime("tarih1") , tm); kmt.Parameters.AddWithValue(convertto.datetime("tarih2") , tm1); kmt.Connection = baglanti; baglanti.Open(); dr = kmt.ExecuteReader(); GridView3.DataSource = dr; GridView3.DataBind(); baglanti.Close();
dene bakalım
-----------------------------tm = TextBox5.Text;
tm1 = TextBox6.Text;
kmt.CommandText = "SELECT id, arizasahibi, arizane, durum, arizatarih, birimi, cozumtarih, aciklama, cozumaciklama FROM arizayolla WHERE arizatarih between '"+tm+"' and '"+tm1+"'";
kmt.Connection = baglanti;
baglanti.Open();
dr = kmt.ExecuteReader();
GridView3.DataSource = dr;
GridView3.DataBind();
baglanti.Close();şu şekilde yaptım çalıştı hocam :))) teşekkür ederim ilgilendiğin için ajaxta da sıkıntı yokmuş tarihi ay gün yıl şeklinde göndermem gerekiyormuş
-----------------------------
Böyle yaparsan Sql Injection yersin.
kmt.CommandText = "SELECT id, arizasahibi, arizane, durum, arizatarih, birimi, cozumtarih, aciklama, cozumaciklama FROM arizayolla WHERE arizatarih between @tarih1 and @tarih2";
kmt.Parameters.AddWithValue("@tarih1", tm);
kmt.Parameters.AddWithValue("@tarih2", tm2); yap. -
-----------------------------
Böyle yaparsan Sql Injection yersin.
kmt.CommandText = "SELECT id, arizasahibi, arizane, durum, arizatarih, birimi, cozumtarih, aciklama, cozumaciklama FROM arizayolla WHERE arizatarih between @tarih1 and @tarih2";
kmt.Parameters.AddWithValue("@tarih1", tm);
kmt.Parameters.AddWithValue("@tarih2", tm2); yap.
---------------------------anladım hocamda bu şekilde yapıncada en başta ki hatayı yani aşağıdaki hatayı alıyorum.:S
Conversion failed when converting date and/or time from character string.
-
efecan123 bunu yazdı:
-----------------------------
-----------------------------
Böyle yaparsan Sql Injection yersin.
kmt.CommandText = "SELECT id, arizasahibi, arizane, durum, arizatarih, birimi, cozumtarih, aciklama, cozumaciklama FROM arizayolla WHERE arizatarih between @tarih1 and @tarih2";
kmt.Parameters.AddWithValue("@tarih1", tm);
kmt.Parameters.AddWithValue("@tarih2", tm2); yap.
---------------------------anladım hocamda bu şekilde yapıncada en başta ki hatayı yani aşağıdaki hatayı alıyorum.:S
Conversion failed when converting date and/or time from character string.
-----------------------------
kmt.Parameters.AddWithValue("@tarih1", Convert.ToDateTime(tm1));
kmt.Parameters.AddWithValue("@tarih2", Convert.ToDateTime(tm2)); yapacaksın.