Szenario:
User selects a XML File ("products.xml" ) to import newest Data.
Data should replace Data in an existing Acess File which is connected
via Dataadapter (daadaptFLR). Bevore the Existing Data are deleted with
RunSQL("DELETE * From Tbl_Fl_Rundleit ung").
Function the Works:
If I copy the File from the directory of the Application.exe then it
works fine.
Funktion Bugy:
If I select the same file from another directory, the
UpdateTable(dal Form.daadaptFLR , dsNew.Tbl_Fl_Ru ndleitung) Function
fails. With following Error: Please remove Index or Constrains to
prevent doubled Values. My Dataset seems to be loaded when i give it to
a datagrid. And i can see a red attention hint with the same Error in
first Line of Datagrid.
I'll be thankfull for any kind of Help.
Greetz from Munich
Private Sub btOFD_Click(ByV al sender As System.Object, ByVal e As
System.EventArg s) Handles btOFD.Click
Dim ofd As New OpenFileDialog
ofd.ShowDialog( )
Try
File.Copy(ofd.F ileName, Application.Sta rtupPath() +
"\products.xml" , True)
pnStatus.BackCo lor = System.Drawing. Color.Green
Catch ex As Exception
pnStatus.BackCo lor = System.Drawing. Color.Red
End Try
End Sub
Private Sub checkGeneratedX ML()
Dim dsNew As New dsPreise
Dim dsHolder As New dsPreise
Dim fstream As FileStream
Dim dalForm As New frmPreise
RunSQL("DELETE * From Tbl_Fl_Rundleit ung")
RunSQL("DELETE * From Tbl_Flexibel")
RunSQL("DELETE * From Tbl_Front_St_Md l")
RunSQL("DELETE * From Tbl_Klm_Block")
RunSQL("DELETE * From Tbl_Zubehoer")
'DAten aus XML einlesen
dsNew.Clear()
dsNew.ReadXml(A pplication.Star tupPath() + "\products.xml" )
'XmlReadMode.Di ffGram , XmlReadMode.Rea dSchema
dgLoadTEst.Data Source = dsNew
UpdateTable(dal Form.daadaptFLR , dsNew.Tbl_Fl_Ru ndleitung)
UpdateTable(dal Form.daadaptFle xibel, dsNew.Tbl_Flexi bel)
UpdateTable(dal Form.daadaptFro ntsteckmodul,
dsNew.Tbl_Front _St_Mdl)
'initSavedDetai lsList()
'MsgBox("OK")
'Return dsNew
'End If
End Sub
Private Sub UpdateTable(ByV al daAdapt As Data.OleDb.OleD bDataAdapter,
ByVal dt As DataTable)
Dim ModifiedChildRe cords As DataTable = dt
For Each ro As DataRow In dt.Rows
'MsgBox(ro.RowS tate)
Next
Try
If Not ModifiedChildRe cords Is Nothing Then
daAdapt.Update( ModifiedChildRe cords)
ModifiedChildRe cords.Dispose()
End If
Catch ex As Exception
' Update error, resolve and try again
MsgBox("update Tab" + ex.Message + dt.TableName)
End Try
End Sub
User selects a XML File ("products.xml" ) to import newest Data.
Data should replace Data in an existing Acess File which is connected
via Dataadapter (daadaptFLR). Bevore the Existing Data are deleted with
RunSQL("DELETE * From Tbl_Fl_Rundleit ung").
Function the Works:
If I copy the File from the directory of the Application.exe then it
works fine.
Funktion Bugy:
If I select the same file from another directory, the
UpdateTable(dal Form.daadaptFLR , dsNew.Tbl_Fl_Ru ndleitung) Function
fails. With following Error: Please remove Index or Constrains to
prevent doubled Values. My Dataset seems to be loaded when i give it to
a datagrid. And i can see a red attention hint with the same Error in
first Line of Datagrid.
I'll be thankfull for any kind of Help.
Greetz from Munich
Private Sub btOFD_Click(ByV al sender As System.Object, ByVal e As
System.EventArg s) Handles btOFD.Click
Dim ofd As New OpenFileDialog
ofd.ShowDialog( )
Try
File.Copy(ofd.F ileName, Application.Sta rtupPath() +
"\products.xml" , True)
pnStatus.BackCo lor = System.Drawing. Color.Green
Catch ex As Exception
pnStatus.BackCo lor = System.Drawing. Color.Red
End Try
End Sub
Private Sub checkGeneratedX ML()
Dim dsNew As New dsPreise
Dim dsHolder As New dsPreise
Dim fstream As FileStream
Dim dalForm As New frmPreise
RunSQL("DELETE * From Tbl_Fl_Rundleit ung")
RunSQL("DELETE * From Tbl_Flexibel")
RunSQL("DELETE * From Tbl_Front_St_Md l")
RunSQL("DELETE * From Tbl_Klm_Block")
RunSQL("DELETE * From Tbl_Zubehoer")
'DAten aus XML einlesen
dsNew.Clear()
dsNew.ReadXml(A pplication.Star tupPath() + "\products.xml" )
'XmlReadMode.Di ffGram , XmlReadMode.Rea dSchema
dgLoadTEst.Data Source = dsNew
UpdateTable(dal Form.daadaptFLR , dsNew.Tbl_Fl_Ru ndleitung)
UpdateTable(dal Form.daadaptFle xibel, dsNew.Tbl_Flexi bel)
UpdateTable(dal Form.daadaptFro ntsteckmodul,
dsNew.Tbl_Front _St_Mdl)
'initSavedDetai lsList()
'MsgBox("OK")
'Return dsNew
'End If
End Sub
Private Sub UpdateTable(ByV al daAdapt As Data.OleDb.OleD bDataAdapter,
ByVal dt As DataTable)
Dim ModifiedChildRe cords As DataTable = dt
For Each ro As DataRow In dt.Rows
'MsgBox(ro.RowS tate)
Next
Try
If Not ModifiedChildRe cords Is Nothing Then
daAdapt.Update( ModifiedChildRe cords)
ModifiedChildRe cords.Dispose()
End If
Catch ex As Exception
' Update error, resolve and try again
MsgBox("update Tab" + ex.Message + dt.TableName)
End Try
End Sub
Comment