Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > asp.net tarih kullanımı
Yazar
safter


avatar

Kayıt: 18.04.2006
17.02.2008-11:07 #38297
cok acil bir şekilde asp.nette tarihlendirme nasıl yaparım acıklayacak birisi var mı acaba?

örnegin : bir vardiya düzenleme programı düşünün vardiyanın başlangıcını calander'den alarak tarihi veritabanına UPDATE edilmesi gerekiyor .. yardımcı olursanız sevinirim arkadaslar . iyi günler





q
Yazar
kellad


avatar
istanbul
Kayıt: 21.01.2006
17.02.2008-11:29 #38298
Tarihi kullanıcıdan alacaksın anladığım kadarıyla. Tools bölümünden sayfana bir calendar ekliyorsun sonra veritabanına kaydederken seçilmiş tarihi Calendar1.SelectedDate şeklinde alabilirsin.
Şimdinin tarihini istiyorsan DateTime.Now() diyorsun zaten.
Daha sonra .ToShortDateString(), .ToLongDateString(), .ToShortTimeString(), .ToLongTimeString() diyerek sadece tarihi yada zamanı istediğin şekilde string olarak alabilirsin.





Decompiling the code of universe.
Listening the cosmic background radiation.
Swimming in Inter Stellar Medium.
Yazar
safter


avatar

Kayıt: 18.04.2006
17.02.2008-11:32 #38299
onları kullanıyorum zaten kod bu; ama çalışmıyor


protected void Button1_Click(object sender, EventArgs e)
{

string bas_tarih;
bas_tarih = caln.SelectedDate.ToString();



OleDbConnection db_baglanti;
db_baglanti = new
OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; DATA Source="
+ Server.MapPath("db.mdb"));

db_baglanti.Open();

OleDbCommand db_komut =
new OleDbCommand("UPDATE eleman SET var_tar_bas='bas_tarih'", db_baglanti);

Response.Write("<B>Verileriniz eklendi!</B>");
db_baglanti.Close();
}






q
Yazar
kellad


avatar
istanbul
Kayıt: 21.01.2006
17.02.2008-11:37 #38300
Burası yanlış.
new OleDbCommand("UPDATE eleman SET var_tar_bas='bas_tarih'", db_baglanti);


Şu şekilde olmalı.
new OleDbCommand("UPDATE eleman SET var_tar_bas='" + bas_tarih + "'", db_baglanti);








Decompiling the code of universe.
Listening the cosmic background radiation.
Swimming in Inter Stellar Medium.
Yazar
kellad


avatar
istanbul
Kayıt: 21.01.2006
17.02.2008-11:40 #38301
Aslında ASP.NET calender ile tarih seçme eskidi. Javascript bir tarih seçme kodu bulup onu kullanmak lazım. Çok daha hızlı oluyor.





Decompiling the code of universe.
Listening the cosmic background radiation.
Swimming in Inter Stellar Medium.
Yazar
safter


avatar

Kayıt: 18.04.2006
17.02.2008-11:47 #38302
düzelttim gene çalışmıyor kod javada nerden bulurum bilmiyorum bildigin bi yer varsa yada kod yollarmısın?





q
Yazar
kellad


avatar
istanbul
Kayıt: 21.01.2006
17.02.2008-11:51 #38303
Şimdi farkettim de bu kod komutu oluşturuyor ama çalıştırmıyor.

db_komut.ExecuteNonQuery();


demiyorsun.
Javascript tarih seçmeyi bulurum birazdan.





Decompiling the code of universe.
Listening the cosmic background radiation.
Swimming in Inter Stellar Medium.
Yazar
safter


avatar

Kayıt: 18.04.2006
17.02.2008-11:55 #38304
Error 1 'System.Data.OleDb.OleDbCommand' does not contain a definition for 'ExecuteNonQuerry'

db_komut.ExecuteNonQuery(); kullanıncı cıkan hata mesajı bu??





q
Yazar
kellad


avatar
istanbul
Kayıt: 21.01.2006
17.02.2008-11:59 #38305
Karıştırdım biraz.

ExecuteNonQuery();

olacak. Tek r ile.





Decompiling the code of universe.
Listening the cosmic background radiation.
Swimming in Inter Stellar Medium.
Yazar
kellad


avatar
istanbul
Kayıt: 21.01.2006
17.02.2008-13:16 #38309
JavaScript tarih seçme.
http://www.yegnidemir.net/datepick.rar
Bu rar'ın içindeki klasörü uygulamanın klasörüne ekledikten sonra kullanacağın sayfaya birkaç kod eklemen gerekiyor.
Bunu sayfanın en altına eklemek iyi olur:
<iframe id="gToday:contrast:agenda.js" style="z-index: 999; left: -500px; visibility: visible;
    position: absolute; top: -500px" name="gToday:contrast:agenda.js" src="datepick/ipopeng.htm"
    frameborder="0" width="132" scrolling="no" height="142"></iframe>


Bu da tarih seçeceğin textbox:
<A hideFocus onclick="if(self.gfPop)gfPop.fStartPop(document.getElementById('_ctl0_ContentPlaceHolder1_AddTicket1_txtDueDate'),document.getElementById('_ctl0_ContentPlaceHolder1_AddTicket1_txtSubject'));return false;"
														href="javascript:void(0)"><IMG class="PopcalTrigger" height="16" alt="" src="datepick/cal.gif" width="16" align="absMiddle"
															border="0"></A>
    <asp:TextBox ID="txtDueDate" runat="server" Width="100px"></asp:TextBox>


Buradaki "_ctl0_ContentPlaceHolder1_AddTicket1_txtDueDate" textbox'ının ID'si oluyor senin uygulamanda farklı olabilir onu buraya yazacaksın. İkincisi de farklı bir textbox'ın ID'si

Başlangıç ve Bitiş şeklinde iki tarih şeçilebiliyor bu script ile ama ben tek tarih seçmek için kullanmıştım.





Decompiling the code of universe.
Listening the cosmic background radiation.
Swimming in Inter Stellar Medium.
Yazar
tarikkranda


avatar

Kayıt: 07.01.2006
17.02.2008-13:41 #38310
Kellad'in dediklerini yaparsan calismasi lazım Safter.
Ayrica senin sorgun da hic bir where kosulu falan yok. Bu yuzden sundan suphelendim eger tablonda henuz hic kayit yoksa update calistirirsan hata verir. Ayrica System.Data.Oledb... boyle bir napmespace var onu da using ile dahil et koduna. En az bir kayit var olmasi lazim update yapabilmen icin.





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
17.02.2008-16:45 #38320
update query sine gönderdiğin tarih formatı veritabanı tarafında cevrilemiyor olabilir.

query nin başına set dateformat dmy yazman lazım yada veritabanının istediği formatta date nesnesini göndermen lazım.
access kullanıyorsan access de farklı bir yazım şekli vardı.





N/A
Yazar
safter


avatar

Kayıt: 18.04.2006
18.02.2008-00:36 #38379
veri tabanımda kayıt var hocam . başlangıc tarihi bütün kayıtlar için aynı olacak ondan dolayı where kullanmaya gerek duymadım. format konusunda bi yalnışlık olabilir orhan abinin dedigi gibi onu araştırayım biraz .. Teşekkürler .





q
Yazar
aliolci


avatar
en dipten taa derind
Kayıt: 19.01.2006
18.02.2008-01:11 #38380
safter yazdi
 
onları kullanıyorum zaten kod bu; ama çalışmıyor


protected void Button1_Click(object sender, EventArgs e)
{

string bas_tarih;
bas_tarih = caln.SelectedDate.ToShortDateString(); //(1)



OleDbConnection db_baglanti;
db_baglanti = new
OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; DATA Source="
+ Server.MapPath("db.mdb"));

db_baglanti.Open();

OleDbCommand db_komut =
new OleDbCommand("UPDATE eleman SET var_tar_bas=' "+bas_tarih +" ' ", db_baglanti);//(2)
db_komut.ExecuteNonQuery();//(3)

Response.Write("<B>Verileriniz eklendi!</B>");
db_baglanti.Close();
}


ukarıda (1-2-3) de degisiklikler yapım bu kodun calısması gerekir access database de tarih tipi girilirken yine tek tırnak arasına ( ' ) tarih değerleri girilir ancak benim sana tavsiyem oledb parametreleri kullanman böylece veri tiplerinin giriliş şekliyle uraşmazssın

db_komut.Parameters.AddWithValue("tarih",caln.SelectedDate.ToShortDateString());
ile komutuna "tarih" isimli ve değeri "caln.SelectedDate.ToShortDateString()" olan bir parametre ekleyebilir ve bunu "UPDATE eleman SET var_tar_bas=@tarih" şeklinde kullanabilirsin





Cant you see the writing on the wall?
"die young gonna die young"
So! Live for today
Tomorrow never comes..

Yazar
safter


avatar

Kayıt: 18.04.2006
19.02.2008-19:12 #38495
sorunu çözdüm... yazma iznini sadece kendime veriyorum diye hata oluşuyordu herkese yazma izni verince halloldu fakat buda güvenlik acısından problem olacka gibi.. gerci website degil web tabanlı bir program ondan dolayı local çalıştıracagız yani bi problem olacagını sanmıyorum:D daha dogrusu ummuyorum :)





q
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb