Я пытаюсь импортировать данные из файла Excel в мою базу данных.У меня есть один OleDBDataAdapter для чтения данных из файла Excel и два OleDBDataAdapter для вставки данных в две таблицы в моей базе данных SQL Server 2008 Express.После выполнения кода таблицы в базе данных SQL заполняются правильным количеством новых строк, но содержат только нулевые значения.Отладка показала, что данные правильно считываются из файла Excel и что значения правильно вставляются в соответствующие объекты DataTable.Может я что-то не так сделал с параметрами команды вставки?Код выглядит следующим образом:
Dim fajl As String
fajl = MapPath("fajlovi/" + Request.QueryString("ID"))
Dim sConnectionStringExcel As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & fajl & ";Extended Properties=Excel 8.0;"
Dim objConnExcel As New OleDbConnection(sConnectionStringExcel)
objConnExcel.Open()
Dim objCmdSelectExcel As New OleDbCommand("SELECT ZavedenKodPov, Ime, Mjesto, Adresa, JMBG, LicniBroj, ZaposlenKod, Nepoznat, Umro, Penzioner, Reon, VoziloProizvodjac, VoziloModel, VoziloRegistracija, Nekretnina, Datum, KontoBroj, NazivKonta, OpisPromjene, Dug, Pot FROM [Sheet1$]", objConnExcel)
Dim objAdapterExcel As New OleDbDataAdapter()
objAdapterExcel.SelectCommand = objCmdSelectExcel
Dim objDatasetExcel As New DataSet()
objAdapterExcel.Fill(objDatasetExcel, "XLData")
Dim tExcel As DataTable
tExcel = objDatasetExcel.Tables(0)
Dim sConnectionStringDB As String = "Provider=SQLOLEDB;Data Source=WORKHORSE\sqlexpress;Initial Catalog=prinudna_testdb;Persist Security Info=True;User ID=korisnik;Password=**********"
Dim objConnDB As New OleDbConnection(sConnectionStringDB)
objConnDB.Open()
Dim objCmdSelectDBDuznik As New OleDbCommand("SELECT ZavedenKodPov, Ime, Mjesto, Adresa, JMBG, LicniBroj, ZaposlenKod, Nepoznat, Umro, Penzioner, Reon, VoziloProizvodjac, VoziloModel, VoziloRegistracija, Nekretnina FROM tmpImportDuznik")
Dim objCmdInsertDBDuznik As New OleDbCommand("INSERT INTO tmpImportDuznik (ZavedenKodPov, Ime, Mjesto, Adresa, JMBG, LicniBroj, ZaposlenKod, Nepoznat, Umro, Penzioner, Reon, VoziloProizvodjac, VoziloModel, VoziloRegistracija, Nekretnina) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
Dim objAdapterDBDuznik As New OleDbDataAdapter()
objAdapterDBDuznik.InsertCommand = objCmdInsertDBDuznik
objAdapterDBDuznik.SelectCommand = objCmdSelectDBDuznik
objAdapterDBDuznik.InsertCommand.Connection = objConnDB
objAdapterDBDuznik.SelectCommand.Connection = objConnDB
objAdapterDBDuznik.InsertCommand.Parameters.Add("ZavedenKodPov", Data.OleDb.OleDbType.VarWChar)
objAdapterDBDuznik.InsertCommand.Parameters.Add("Ime", Data.OleDb.OleDbType.VarWChar)
objAdapterDBDuznik.InsertCommand.Parameters.Add("Mjesto", Data.OleDb.OleDbType.VarWChar)
objAdapterDBDuznik.InsertCommand.Parameters.Add("Adresa", Data.OleDb.OleDbType.VarWChar)
objAdapterDBDuznik.InsertCommand.Parameters.Add("JMBG", Data.OleDb.OleDbType.VarWChar)
objAdapterDBDuznik.InsertCommand.Parameters.Add("LicniBroj", Data.OleDb.OleDbType.VarWChar)
objAdapterDBDuznik.InsertCommand.Parameters.Add("ZaposlenKod", Data.OleDb.OleDbType.VarWChar)
objAdapterDBDuznik.InsertCommand.Parameters.Add("Nepoznat", Data.OleDb.OleDbType.VarWChar)
objAdapterDBDuznik.InsertCommand.Parameters.Add("Umro", Data.OleDb.OleDbType.VarWChar)
objAdapterDBDuznik.InsertCommand.Parameters.Add("Penzioner", Data.OleDb.OleDbType.VarWChar)
objAdapterDBDuznik.InsertCommand.Parameters.Add("Reon", Data.OleDb.OleDbType.VarWChar)
objAdapterDBDuznik.InsertCommand.Parameters.Add("VoziloProizvodjac", Data.OleDb.OleDbType.VarWChar)
objAdapterDBDuznik.InsertCommand.Parameters.Add("VoziloModel", Data.OleDb.OleDbType.VarWChar)
objAdapterDBDuznik.InsertCommand.Parameters.Add("VoziloRegistracija", Data.OleDb.OleDbType.VarWChar)
objAdapterDBDuznik.InsertCommand.Parameters.Add("Nekretnina", Data.OleDb.OleDbType.VarWChar)
Dim objDatasetDBDuznik As New DataSet()
objAdapterDBDuznik.Fill(objDatasetDBDuznik, "tmpImportDuznik")
Dim tDBDuznik As DataTable
tDBDuznik = objDatasetDBDuznik.Tables(0)
Dim nRowDuznik As Data.DataRow
Dim objCmdSelectDBKartica As New OleDbCommand("select ZavedenKodPov, Datum, KontoBroj, NazivKonta, OpisPromjene, Dug, Pot FROM tmpImportKartica")
Dim objCmdInsertDBKartica As New OleDbCommand("INSERT INTO tmpImportKartica (ZavedenKodPov, Datum, KontoBroj, NazivKonta, OpisPromjene, Dug, Pot) VALUES (?, ?, ?, ?, ?, ?, ?)")
Dim objAdapterDBKartica As New OleDbDataAdapter()
objAdapterDBKartica.InsertCommand = objCmdInsertDBKartica
objAdapterDBKartica.SelectCommand = objCmdSelectDBKartica
objAdapterDBKartica.InsertCommand.Connection = objConnDB
objAdapterDBKartica.SelectCommand.Connection = objConnDB
objAdapterDBKartica.InsertCommand.Parameters.Add("ZavedenKodPov", Data.OleDb.OleDbType.VarWChar)
objAdapterDBKartica.InsertCommand.Parameters.Add("Datum", Data.OleDb.OleDbType.Date)
objAdapterDBKartica.InsertCommand.Parameters.Add("KontoBroj", Data.OleDb.OleDbType.VarWChar)
objAdapterDBKartica.InsertCommand.Parameters.Add("NazivKonta", Data.OleDb.OleDbType.VarWChar)
objAdapterDBKartica.InsertCommand.Parameters.Add("OpisPromjene", Data.OleDb.OleDbType.VarWChar)
objAdapterDBKartica.InsertCommand.Parameters.Add("Dug", Data.OleDb.OleDbType.Decimal)
objAdapterDBKartica.InsertCommand.Parameters.Add("Pot", Data.OleDb.OleDbType.Decimal)
Dim objDatasetDBKartica As New DataSet()
objAdapterDBKartica.Fill(objDatasetDBKartica, "tmpImportKartica")
Dim tDBKartica As DataTable
tDBKartica = objDatasetDBKartica.Tables(0)
Dim nRowKartica As Data.DataRow
Dim i As Integer
For i = 0 To tExcel.Rows.Count - 1
nRowDuznik = tDBDuznik.NewRow()
nRowDuznik.Item("ZavedenKodPov") = tExcel.Rows(i).Item("ZavedenKodPov")
nRowDuznik.Item("Ime") = tExcel.Rows(i).Item("Ime")
nRowDuznik.Item("Mjesto") = tExcel.Rows(i).Item("Mjesto")
nRowDuznik.Item("Adresa") = tExcel.Rows(i).Item("Adresa")
nRowDuznik.Item("JMBG") = tExcel.Rows(i).Item("JMBG")
nRowDuznik.Item("LicniBroj") = tExcel.Rows(i).Item("LicniBroj")
nRowDuznik.Item("ZaposlenKod") = tExcel.Rows(i).Item("ZaposlenKod")
nRowDuznik.Item("Nepoznat") = tExcel.Rows(i).Item("Nepoznat")
nRowDuznik.Item("Umro") = tExcel.Rows(i).Item("Umro")
nRowDuznik.Item("Penzioner") = tExcel.Rows(i).Item("Penzioner")
nRowDuznik.Item("Reon") = tExcel.Rows(i).Item("Reon")
nRowDuznik.Item("VoziloProizvodjac") = tExcel.Rows(i).Item("VoziloProizvodjac")
nRowDuznik.Item("VoziloModel") = tExcel.Rows(i).Item("VoziloModel")
nRowDuznik.Item("VoziloRegistracija") = tExcel.Rows(i).Item("VoziloRegistracija")
nRowDuznik.Item("Nekretnina") = tExcel.Rows(i).Item("Nekretnina")
tDBDuznik.Rows.Add(nRowDuznik)
If Not (IsDBNull(tExcel.Rows(i).Item("ZavedenKodPov"))) Then
nRowKartica = tDBKartica.NewRow()
nRowKartica.Item("ZavedenKodPov") = tExcel.Rows(i).Item("ZavedenKodPov")
nRowKartica.Item("Datum") = tExcel.Rows(i).Item("Datum")
nRowKartica.Item("KontoBroj") = tExcel.Rows(i).Item("KontoBroj")
nRowKartica.Item("NazivKonta") = tExcel.Rows(i).Item("NazivKonta")
nRowKartica.Item("OpisPromjene") = tExcel.Rows(i).Item("OpisPromjene")
nRowKartica.Item("Dug") = tExcel.Rows(i).Item("Dug")
nRowKartica.Item("Pot") = tExcel.Rows(i).Item("Pot")
tDBKartica.Rows.Add(nRowKartica)
End If
Next
objAdapterDBDuznik.Update(objDatasetDBDuznik.Tables(0))
objAdapterDBKartica.Update(objDatasetDBKartica.Tables(0))