Konuyu görüntüle
IUCODERS FORUM > Programlama > Veritabanları > sql server veritaban? güncellenmesi
Yazar
timur


avatar
İstanbul
Kayıt: 19.01.2006
24.05.2006-01:39 #6968
Merhaba. Ben veri tabanı projesini hazırlamaya çalışıyorum. Yalnız bir konuda hiçbir fikrim yok.(asp.net ve sql server 2000 kullanıyorum. İkinci el satış sistemi). Bir tabloda satıştaki ürünler var. Tabi ki belirli bir de zaman sınırı. Örneğin bir hafta. Ben bu zaman sınırı aştığında veri tabanındaki verileri nasıl güncelleyeceğim? Örneğin bir ürün bir hafta satışta durdu. Bu bir haftanın sonunda ben bu ürünü otomatik olarak nasıl satıştan kaldıracağım? Bir de bu güncellemeden sonra asp.net e veri göderebilirmiyim? Çünkü satıştan sonra alan ve satan vatandaşa mail göndermek istiyorum.

İyi çalışmalar...





Hayat varsa umut vard?r...
www.timureroglu.com

Yazar
grease


avatar
Istanbul
Kayıt: 22.01.2006
24.05.2006-01:51 #6969
Timur bende aynı projeyi yapıyorum. En zor projelerden biri bence





Grease is still the word


Yazar
sis***


avatar

Kayıt: 15.01.2006
24.05.2006-01:54 #6970
ekstra bir güncelleme yapmak yerine tabloya yayında kalkış tarihi ekle(yani en son hangi tarihe kadar yayında kalacak), sonra da sorgunda o günkü tarihten eski olmayanları getirirsin.





University Of Minnesota- Minnesota(ABD)




Yazar
timur


avatar
İstanbul
Kayıt: 19.01.2006
24.05.2006-02:12 #6971
sis*** yazdi
 
ekstra bir güncelleme yapmak yerine tabloya yayında kalkış tarihi ekle(yani en son hangi tarihe kadar yayında kalacak), sonra da sorgunda o günkü tarihten eski olmayanları getirirsin.


Ben de aynı şeyi düşündüm ama, ben satıştakileri ayrı bir tabloda, satılanları ayrı bir tabloda tutmak istiyorum. Bir de view kullanarak tarihi geçenleri listelemeyi düşünüyorum. Fakat burda da kafama takılan birşey var. Dışardan parametre göndermeden, sql server a şimdiki zamanı okutabilirmiyim?

İyi çalışmalar...





Hayat varsa umut vard?r...
www.timureroglu.com

Yazar
sis***


avatar

Kayıt: 15.01.2006
24.05.2006-02:28 #6972
timur yazdi
 
sis*** yazdi
 
ekstra bir güncelleme yapmak yerine tabloya yayında kalkış tarihi ekle(yani en son hangi tarihe kadar yayında kalacak), sonra da sorgunda o günkü tarihten eski olmayanları getirirsin.


Ben de aynı şeyi düşündüm ama, ben satıştakileri ayrı bir tabloda, satılanları ayrı bir tabloda tutmak istiyorum. Bir de view kullanarak tarihi geçenleri listelemeyi düşünüyorum. Fakat burda da kafama takılan birşey var. Dışardan parametre göndermeden, sql server a şimdiki zamanı okutabilirmiyim?

İyi çalışmalar...


Satış olduğunda satış tablosundan silip satılanlar tablosuna ekleyeceksin.Sql serverin date fonksiyonları var , onlarla şimdiki zamanı öğrenebilirsin, ama ben tam hatırlayamadımblushing ...

şimdi buldum getdate() fonksiyonu var...şu linki bir inceleişini görecek sanırım : http://www.sqljunkies.com/Article/6676BEAE-1967-402D-9578-9A1C7FD826E5.scuk





University Of Minnesota- Minnesota(ABD)




Yazar
grease


avatar
Istanbul
Kayıt: 22.01.2006
24.05.2006-02:39 #6973
Ki tarihi asp.netten parametre olarak göndermek istiyorsan şöyle yazarrsan olur


komut.Parameters
.Add("@tarih",DateTime.Now.Date)





Grease is still the word


Yazar
timur


avatar
İstanbul
Kayıt: 19.01.2006
24.05.2006-02:52 #6974
sis*** yazdi
 
timur yazdi
 
sis*** yazdi
 
ekstra bir güncelleme yapmak yerine tabloya yayında kalkış tarihi ekle(yani en son hangi tarihe kadar yayında kalacak), sonra da sorgunda o günkü tarihten eski olmayanları getirirsin.


Ben de aynı şeyi düşündüm ama, ben satıştakileri ayrı bir tabloda, satılanları ayrı bir tabloda tutmak istiyorum. Bir de view kullanarak tarihi geçenleri listelemeyi düşünüyorum. Fakat burda da kafama takılan birşey var. Dışardan parametre göndermeden, sql server a şimdiki zamanı okutabilirmiyim?

İyi çalışmalar...


Satış olduğunda satış tablosundan silip satılanlar tablosuna ekleyeceksin.Sql serverin date fonksiyonları var , onlarla şimdiki zamanı öğrenebilirsin, ama ben tam hatırlayamadımblushing ...

şimdi buldum getdate() fonksiyonu var...şu linki bir inceleişini görecek sanırım : http://www.sqljunkies.com/Article/6676BEAE-1967-402D-9578-9A1C7FD826E5.scuk


İşte asıl sorun da o. Bir satışın olabilmesi için satış zamanının sona ermesi lazım. Yani satış zamanı sona erdiğinde son teklifi veren ürünü satın almış oluyor. Satış zamanı sona erdiği anda benim o tabloyu güncellemem gerekiyor. Benim aklıma view kullanarak bir tablo oluşturmak, sayfa da da bu view u kullanarak listelemek geliyor. Daha doğrusu elimden şu anda bu geliyor.biggrin

İyi çalışmalar...





Hayat varsa umut vard?r...
www.timureroglu.com

Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
24.05.2006-09:22 #6976
bunu iki türlü yapabilirsin.
örneğin x ürünü 01,01,2006 da vitrine kondu 7 gun sure verdiğini düşünelim 08,01,2006 da vitrinden çıkarman lazım. kod üzerinden bunu kontrol edebilirsin. gatDate() ile tarihi alırsın o tarihten buyukmu değilmi kontrol edersin.
yok sql server otomatik yapsın diyorsan.
Enterprise manager da Tools menüsünün altında JOB Scheduling var.
onu aç TSQL i seç gelen ekrana TSQL kodunu koy. next deyince bu job ne zaman çalışsın diye seçenekler gelecek. en altta on a recurring basisi seç oyle devam et. sanırım bu işlem pek işine yaramaz.
başka bir yontemde TSQL lere timer verilebiliyor. Şu gun şu saat çalış gibisinden. her ürün eklemden sonra boyle bir tsql yazıp ona şu saatte çalış diyebilirsin.100 tane ürün eklenirse bir günde expire süresii gelince bir problem olması durumunda tablo locked kalabilir ona dikkat etmek lazımbiggrin





N/A
Yazar
tarikkranda


avatar

Kayıt: 07.01.2006
24.05.2006-10:02 #6978
Selam,
benim anlamadigim bikac sey var. Oncelikle bahsettiginiz isi yapmak için veritabanının guncellemenize hic gerek yok diye düşünüyorum.
Tablo şu olsun;
UrunID                             UrunAdi                     StartDate            ExpireDate                            Durum
        1               Usual Suspects Posteri      20.10.2005                 29.10.2005            1
        2                 Metallica S&M DVDsi        01.11.2005                 10.11.2005
        3            Levis Engineered 307 Kot      09.11.2005                19.11.2005             
        4                 Baba Hindi T-Shirt u        09.11.2005                 20.11.2005            0

Bu sekilde bir tablon olsun. Burada Durum= 1 olanlar satılmıstır, Durum = 0 olan ilanlar geri cekilmistir, durumu null olanlar ise hala beklemededirler.

* Satılmış olanları listelemek için where Durum = 1 koşulunu
* Satışta olanları listelemek için where ExpireDate < GetDate() and Durum is NULL
* Satış süresi dolup elde kalanlar için where ExpireDate > GetDate() and Durum is not NULL
* Suresi dolmadıgı halde satıştan çekilenleri listelemek için where Durum = 0 koşulu ile

yukarıdaki ornekte bugunun tarihini cektigimizi ve bize 11.11.2005 dondugunu dusunelim bu durumda Levis Pantalon satılmamıs ancak Metallica expired olmustur.

dönen sonuçları ASp.NEt sayfana aktarırsan sorunun çözülmüş olmaz mı?

Ama illa ben veritabanımı update edicem expired ürünleri birşekilde manupule edecem diyorsan job yazmanı ve bunu gün sonunda tarih attıgında çalıştırmanı ve tablonu gezerek expireDate leri kontrol etmeni oneririm. Ancak ilk bahsettigim yontem haricinde nasıl bir durum olabilir dusunemedigimiz eger var ise onu da belirtirseniz daha acıklayıcı olur ve en dogru yontemi tartısarak bulabiliriz.





Yazar
timur


avatar
İstanbul
Kayıt: 19.01.2006
24.05.2006-20:45 #7029
tarikkranda yazdi
 
Selam,
benim anlamadigim bikac sey var. Oncelikle bahsettiginiz isi yapmak için veritabanının guncellemenize hic gerek yok diye düşünüyorum.
Tablo şu olsun;
UrunID                             UrunAdi                     StartDate            ExpireDate                            Durum
        1               Usual Suspects Posteri      20.10.2005                 29.10.2005            1
        2                 Metallica S&M DVDsi        01.11.2005                 10.11.2005
        3            Levis Engineered 307 Kot      09.11.2005                19.11.2005             
        4                 Baba Hindi T-Shirt u        09.11.2005                 20.11.2005            0

Bu sekilde bir tablon olsun. Burada Durum= 1 olanlar satılmıstır, Durum = 0 olan ilanlar geri cekilmistir, durumu null olanlar ise hala beklemededirler.

* Satılmış olanları listelemek için where Durum = 1 koşulunu
* Satışta olanları listelemek için where ExpireDate < GetDate() and Durum is NULL
* Satış süresi dolup elde kalanlar için where ExpireDate > GetDate() and Durum is not NULL
* Suresi dolmadıgı halde satıştan çekilenleri listelemek için where Durum = 0 koşulu ile

yukarıdaki ornekte bugunun tarihini cektigimizi ve bize 11.11.2005 dondugunu dusunelim bu durumda Levis Pantalon satılmamıs ancak Metallica expired olmustur.

dönen sonuçları ASp.NEt sayfana aktarırsan sorunun çözülmüş olmaz mı?

Ama illa ben veritabanımı update edicem expired ürünleri birşekilde manupule edecem diyorsan job yazmanı ve bunu gün sonunda tarih attıgında çalıştırmanı ve tablonu gezerek expireDate leri kontrol etmeni oneririm. Ancak ilk bahsettigim yontem haricinde nasıl bir durum olabilir dusunemedigimiz eger var ise onu da belirtirseniz daha acıklayıcı olur ve en dogru yontemi tartısarak bulabiliriz.


Selamlar. Verdiğin yol güzel. Fakat ben o söylediğin Durum kolonunu nasıl düzenleyeceğim? Yapmam gereken zaman dolduğunda teklif verilip verilmediğini kontrol edip, teklif verildiyse satılanlar, verilmediyse satılmayanlar listesine koymak. Senin söylediğin sistemde Durum kolonunu benim elle düzenlemem lazım. Ya da ben yanlış anladım.(Belki bir kolon daha ekleyerek teklif verilip verilmediği kontrol edilebilir) Bir de zaman dolduğunda satılıp satılmadığıyla ilgili satan kişiye mail yollamak istiyorum. Böyle bir imkanım var mı?
İyi çalışmalar...





Hayat varsa umut vard?r...
www.timureroglu.com

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