我希望你能幫助我。所有人的拳頭,對不起,如果我的英語很煩人,我不是母語的人。Vb.net和MySQL:'字段列表'中的未知列
我得到這個錯誤,我看不出我做錯了什麼。我有一個程序用另一個使用OLEB DB的程序填充本地MySQL數據庫。 因此它比較表格並按需上傳新數據。但我得到這個錯誤,只有一個表使用與其他表使用相同的小組。在 '字段列表'
未知列 'lpedidos.serie'
的問題是, 'lpedidos.serie' 確實存在。所以這裏是sub的代碼,請不要笑,我知道這可能是非常低效的,但我只是一個noob。
Public Sub notIndexedTables(table As DataTable, table2 As DataTable, tableNA As String)
Dim temptable As DataTable
temptable = table.Clone
Dim tablename As String = temptable.TableName
Dim myAdapter As MySql.Data.MySqlClient.MySqlDataAdapter
Dim SQL As String
Dim newconn As New MySql.Data.MySqlClient.MySqlConnection
newconn = mysqlConnection()
newconn.Open()
SQL = "TRUNCATE " & tableNA
myAdapter = New MySql.Data.MySqlClient.MySqlDataAdapter()
Dim command As MySql.Data.MySqlClient.MySqlCommand
command = New MySql.Data.MySqlClient.MySqlCommand(SQL, newconn)
myAdapter.DeleteCommand = command
myAdapter.DeleteCommand.ExecuteNonQuery()
For Each row As DataRow In table.Rows()
Dim columnNumber As Int32 = row.ItemArray.Count
Dim i As Integer = 0
Dim s1 As String = "("
For Each columna In row.ItemArray
i = i + 1
If i = columnNumber Then
s1 = s1 + CStr(table2.Columns.Item(i - 1).ColumnName) & ")"
Else
s1 = s1 & CStr(table2.Columns.Item(i - 1).ColumnName) & ", "
End If
Next
Dim s2 As String = "("
i = 0
For i = 0 To (columnNumber - 2)
s2 = s2 & "'" & CStr(row.Item(i)) & "', "
Next
s2 = s2 & "'" & CStr(row.Item(columnNumber - 1)) & "')"
SQL = "INSERT INTO " & tableNA & " " & s1 & " VALUES " & s2
myAdapter = New MySql.Data.MySqlClient.MySqlDataAdapter()
' myCommand = New MySql.Data.MySqlClient.MySqlCommandBuilder(myAdapter)
command = New MySql.Data.MySqlClient.MySqlCommand(SQL, newconn)
myAdapter.InsertCommand = command
myAdapter.InsertCommand.ExecuteNonQuery()
Next
newconn.Close()
newconn.Dispose()
End Sub
基本上需要MySQL表(tableNA),截斷它(該過程是對於沒有索引表,存在對具有唯一索引表其它程序),並與來自OLEB表中的數據填充它(表),並從MySQL表的臨時副本(表2)中獲取列名(也許在這種情況下不需要使用table2 ......但無論如何)。
以下是異常情況和SQL字符串引發異常時的值。
這裏是在phpMyAdmin表結構的屏幕截圖。
當您從vb連接時,它看起來像表沒有該列。確保你連接到正確的數據庫。 – Joni 2013-03-22 17:03:52
我不這麼認爲,它可以和其他表一起工作並在拋出異常之前更新它們。 – 2013-03-22 17:07:00
英語中的'serie'是什麼? 「設置」還是「範圍」是法語嗎?如果是這樣,它可能是一個保留的關鍵字問題。 – nunzabar 2013-03-22 17:14:15