2009-03-06 20 views
0

Tablodan tablo sorgusunu kullanarak kod aracılığıyla db'ye tabloya dinamik olarak sütun ekliyorum. Ancak sorunla karşı karşıyayım, bu sütuna değerler eklemeye çalışıyorum. Bir istisna atar sütun yok. Ve temizledim ve projemi netbeans yoluyla yeniden yapıyorum.Verileri dinamik olarak oluşturulmuş tablo sütununa eklerken karşılaşılan sorun

Veritabanında java ve mysql kullanıyorum.

Bu sorunun çözümünü bilen herhangi bir kuruluş var mı?

ardından benim alter tablo sorgu Kod

 String alterTableQuery ="alter table `test` add `abc` varchar(50) NOT NULL default ''"; 
    stmt = conn.prepareStatement(alterTableQuery); 
    boolean val = stmt.execute(); 

Ve ben aşağıdaki kodu kullanarak veri eklemek çalışıyorum. Sana) (dataAdapter.AcceptChanges çağırmanız gerekir masaya değişikliği yaptıktan sonra Java hakkında ancak .net bilmiyorum

 String sqlQuery = "insert into `test` (`id`,`abc`) values (?)" ; 
     stmt = conn.prepareStatement(sqlQuery); 
     boolean val = stmt.execute(); 
+0

SQL ifadelerinizi gönderir misiniz? –

+0

Ayrıca tablonun bir "DESCRIBE

" mesajını gönderin ve mümkünse rahatsız edici sütunu işaret edin. –

+0

Kodunuzun bir örneğiniz var mı? – MatBailie

cevap

0

; Esas olarak tablonun değişimini taahhüt eder.

Kodeksinizde, ekleyenin çalışabilmesi için sütunu tabloya ekledikten sonra benzer bir arama yapmanız gerekir.

0

Veri Açıklama Dil (DDL) genellikle işlemlerin dışında yürütülür. Belki de bir taahhüt/geri alma, hatta yeniden bağlanma sorunu sıralar. Sadece bir tahmin.

1

Ayrıca tasarımınızı yeniden düşünebilirsiniz. Genel olarak, kullanıcı arayüzünün tablolara sütun eklemesi zayıf bir uygulamadır. Belki daha normalleştirilmiş bir tasarıma ihtiyacın var. Veritabanı yapısal değişiklikleri kullanıcıdan gelmemelidir. Farklı kullanıcılar aynı anda değişiklik yapıyorsa gerçek bir karmaşa yaratabilirsiniz. Ek olarak, kullanıcılar sütun ekleme güvenlik haklarına sahip olmamalıdır. Bu, sisteminiz için büyük bir risktir.

İlgili konular