Forum
Merhaba
http://forums.asp.net/t/1194250.aspx bu adresteki
// Connection String to Excel Workbook string excelConnectionString = @"Provider=Microsoft .Jet.OLEDB.4.0;Data Source=Book1.xls;Extended Properties=""Excel 8.0;HDR=YES;"""; // Create Connection to Excel Workbook using (OleDbConnection connection = new OleDbConnection(excelConnectionString)) { OleDbCommand command = new OleDbCommand ("Select ID,Data FROM [Data$]", connection); connection.Open(); // Create DbDataReader to Data Worksheet using (DbDataReader dr = command.ExecuteReader()) { // SQL Server Connection String string sqlConnectionString = "Data Source=.; Initial Catalog=Test;Integrated Security=True"; // Bulk Copy to SQL Server using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString)) { bulkCopy.DestinationTableName = "ExcelData"; bulkCopy.WriteToServer(dr); } } }
kod bloğunu kullanarak exceldeki verileri sqldeki veritabanına kaydedebiliyorum ama alanlara null girilemez dediğimde program çalışmadı.NullGirilemez hatası verdi.Sql den ne zamanki alanlara null girilebilir diye işaretledim o zaman çalıştı.Bu nasıl düzeltebilirim?
Kod blogunda bir sorun yok siz hangi alani nullable yaptiniz ?
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com
şu satırı
("Select ID,Data FROM [Data$]", connection); kendime göre ("Select AdSoyad,No,AldigiNot FROM [Data$]", connection); şeklinde yazdım.veritabanında ekstradan id alanı var.benim id alanı dışındaki alanlarım null olması dedim hata verdi.ayrıca burda dikkatimden kaçmış.dosyayı AdSoyad,No,AldigiNot sütunları olarak değil sola bir sütun kaydırarak yazmış veritabanına.Yani id den sonra AdSoyad sütununu almamış ama Adsoyad sütun başlığı var ve altında no ları yazmış.No da AldıgiNot ve AldigiNota da null yazmış.
excel den sadece Data alanini çekiyorsunuz db ye ise adsoyad vs vs kolona yazmaya calisiyorsunuz cektiginiz data colon sayisi ile insert etmeye calistiginiz table kolon sayisi ayni olmali ....
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com
Tamam ama null olayını nasıl çözücem?
kontrol ediceksiniz bir datatable a alin once sonra for each ile donun eger null ise string.empty kullanin sonra bu listenizi db ye yazin
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com