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

  • Bart Baker

    Bart Baker

    1 Aralık 2006
  • Jason Parker

    Jason Parker

    14 Aralık 2009
  • Rugiagialia

    Rugiagialia

    1 Ocak 2008