SORU
1 Aralık 2008, PAZARTESİ


En iyi yolu sipariş tutarken Veritabanına sipariş Listesi kaydetmek için

Eğer herkes son yıllarda pek çok kez karşılaştığım bir sorun için iyi bir çözüm olup olmadığını merak ediyordum.

Alışveriş sepeti ve sipariş olduğunu açıkça benim müşteri istekleri önemli. DB emri devam etmek istiyorum.

Bariz şekilde basitçe numarası N 0 atamak ve bu şekilde sıralamak istiyorum bazı OrderField eklemek olacaktır.

Ama bunu yaparken yeniden daha zor olur ve ben bir şekilde bu çözüm biraz kırılgan ve bana bir gün geri gelecek hissediyorum.

(C Arabiriminin ve SQL Server 2005 ile# 3,5 kullanıyorum)

Teşekkür ederim

CEVAP
27 NİSAN 2012, Cuma


Tamam işte bu kadar kolay bu iş parçacığı için birlikte olur herkes için programlama yapmak için çözümdür. işin sırrı bir güncelleme tüm sipariş dizinleri güncelleştirme veya ekleme / silme altında ve üstünde mümkün ediliyor.

Tablonuzdaki (integer) sayısal bir sütun, SQL tarafından desteklenen kullanarak sorgular

CREATE TABLE myitems (Myitem TEXT, id INTEGER PRIMARY KEY, orderindex NUMERIC);

Orderindex 6 öğe silmek için:

DELETE FROM myitems WHERE orderindex=6;    
UPDATE myitems SET orderindex = (orderindex - 1) WHERE orderindex > 6;

İki öğeleri takas (4 ve 7):

UPDATE myitems SET orderindex = 0 WHERE orderindex = 4;
UPDATE myitems SET orderindex = 4 WHERE orderindex = 7;
UPDATE myitems SET orderindex = 7 WHERE orderindex = 0;

yani 0 kullanılmaz, belirsiz bir madde olması önlemek için bir kukla olarak kullanmak.

3: eklemek için

 UPDATE myitems SET orderindex = (orderindex   1) WHERE orderindex > 2;
 INSERT INTO myitems (Myitem,orderindex) values ("MytxtitemHere",3)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Feel The Electricity!

    Feel The Ele

    20 ŞUBAT 2010
  • george sarintzotis

    george sarin

    2 Aralık 2007
  • pain975

    pain975

    27 NİSAN 2008