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
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)
Sağa ve yukarıdan aşağıya, soldan 2 bo...
Nasıl alt-klasör listesi ve dosya, kla...
Nasıl CSS ile sipariş listelerinde iki...
İki Liste&; T> eşitlik için nesnele...
Kesme noktaları listesi kaydetmek için...