2011-09-08 22 views
5

SQL veritabanına ekleyerek kapsamlı bir formum var ve bir yönetici sayfasından tüm verileri talep ediyorum ve yönetim sayfasındaki forma tekrar girmesini istiyorum. Veritabanına orijinal yerleştirme sırasında, bu belirli açılan liste (diğerleri gibi) seçilen verileri ekliyor. Ama veri tabanına gittiğimde, seçilen hücrenin yerleştirilmesinden sonra sadece bu özel hücre 3 ila 4 boş beyaz alan elde ediyor. Bu, yönetici formuna yeniden girmeye çalışırken, boole karşılaştırmasının false ile yanıt vermesine neden oluyor. yani ("Birincil" = "Birincil") = yanlış. Böylece açılır liste güncellenmez.SQL veritabanına eklerken dize değeri neden boş alanları biriktiriyor?

SQL satırının bu boş alanları eklemesine neden olan nedir? Kod, arkasındaki koduyla birlikte tüm HTML dropdown listeleri için aynıdır. Ve SQL veritabanının yapısı da tüm yol boyunca aynı görünüyor.

p.s. Sorunu geri almak için arkadaki kodda .Trim() kullanmaya çalışıyorum. Ama bu bir fark yaratmıyor. Ekleme üzerine beyaz boşluk ekleyerek SQL veritabanı görünüyor.

+0

Bu kod nedir? sütunun türü nedir? SQL nedir? –

+0

"SQL veritabanı ekleme üzerine beyaz boşluk ekleyerek görünüyor." Sorguyu kod aracılığıyla geçirmek yerine doğru SQL'i doğrudan dbms arabiriminiz üzerinden yürüterek sınayın. –

+0

** NE ** veritabanı ve hangi sürüme? ** SQL ** sadece Yapılandırılmış Sorgu Dili - ** ** ** ** ** ** ** ** ** ** ** ** bir veritabanı ürünü tarafından kullanılan bir dil ... bu gibi şeyler çok sık ** satıcı -spesifik ** - Yani gerçekten ne ** veritabanı sistemi ** kullandığınız bilmemiz gerekir .... –

cevap

26

boşluk ekleyerek şu sütun olmak olur mu bir CHAR veya yerine VARCHAR veya NVARCHAR arasında NCHAR? Örneğin, sütunlarınız datatype CHAR(10) ise ve buna bir "Merhaba" eklerseniz, o sütunda her zaman 10 karakter olacak, böylece "Merhaba" dan sonra 5 boşluk karakteri eklenecektir. Ancak, VARCHAR(10) kullanırsanız, bu olmaz.

+2

Veya 'NCHAR' yerine' NVARCHAR'. – Oded

+0

Ah evet bunları eklemeyi unuttun. Cevabımı güncelledim. – smoak

+0

Umm, @smoak bu ilginç bir şey. Hepsi varchar (50) olarak yapıldı .. En az bir varchar (100) yaptığımı fark ettim. Yani hiçbiri ekstra karakterleri eklememeli ... Ama biliyorsun, bu komik. Nedeni 10'a kadar chars ekliyor. 'Primary' seçilirse 'Primary' (3 boş boşluk ile) ekler, eğer 'Spouse' seçilirse 4 boş alan ekler ... hepsi 10'a ekler. yol boyunca bir yerde ben char olarak vardı ve şimdi veritabanı düzgün bir şekilde güncellenmiyor .. – iDevJunkie