sgearin
April 28th, 2003, 05:52 AM
I have create a paradox table using ADOX in VB.Net but if I try to add data to it I get an error message telling me that it is read only. If I check the properties on the file it is NOT read only and if I open the new database in Paradox I can add records without a problem. I can create and add info in VB6 (different code) without a problem. Does anyone have any suggestions.
Code being used
Private Sub cmdMakeDB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdMakeDB.Click
Dim dsStr, dsCN As String
Dim cnADO As New ADODB.Connection()
Dim mdb As New ADOX.Catalog()
Dim dt As New ADOX.Table()
'dsStr = "C:\Temp\CreateDB\"
dsCN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp\createDB;Mode=ReadWrite;Extended Properties=Paradox 5.x;Persist Security Info=False"
'dsCN = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Paradox;Mode=ReadWrite;Initial Catalog=c:\temp\createDB"
cnADO.ConnectionString = dsCN
cnADO.Open()
mdb.ActiveConnection = cnADO
With dt
.Name = "test5"
.Columns.Append("Feeder Slot", ADOX.DataTypeEnum.adWChar, 11)
.Columns.Append("FeederTrack", ADOX.DataTypeEnum.adWChar, 11)
.Columns.Append("Part Number", ADOX.DataTypeEnum.adWChar, 41)
.Columns.Append("Feeder Type", ADOX.DataTypeEnum.adWChar, 21)
.Columns.Append("Reversed", ADOX.DataTypeEnum.adWChar, 11)
.Columns.Append("Comment", ADOX.DataTypeEnum.adWChar, 61)
.Columns.Append("Quantity", ADOX.DataTypeEnum.adWChar, 11)
'.Keys.Append("test3", ADOX.KeyTypeEnum.adKeyPrimary, "Feeder Slot")
End With
mdb.Tables.Append(dt)
mdb.ActiveConnection.Close()
MessageBox.Show("Finished", "Make DB")
End Sub
Private Sub cmdFillDB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdFillDB.Click
Dim rsADO As New ADODB.Recordset()
Dim cnADO As New ADODB.Connection()
Dim dsStr As String
Dim dsCN As String
dsStr = "C:\Temp\CreateDB\"
dsCN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp\createDB;Mode=ReadWrite;Extended Properties=Paradox 5.x;Persist Security Info=False"
cnADO.ConnectionString = dsCN
cnADO.Open()
rsADO.ActiveConnection = cnADO
rsADO.Open("Select * from test5", cnADO, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
rsADO.AddNew()
rsADO.Fields(1).Value = "101"
'rsADO.Fields(0).Value = "101"
'rsADO.Fields("FeederTrack").Value = "1"
'rsADO.Fields("Part Number").Value = "xxx-yyy-zzz"
'rsADO.Fields("Feeder Type").Value = "8mm"
'rsADO.Fields("Reversed").Value = "0"
'rsADO.Fields("Comment").Value = "Test this description"
'rsADO.Fields("Quantity").Value = "10"
rsADO.Update()
rsADO.Close()
cnADO.Close()
MessageBox.Show("Finished", "Value Update")
End Sub
End Class
Code being used
Private Sub cmdMakeDB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdMakeDB.Click
Dim dsStr, dsCN As String
Dim cnADO As New ADODB.Connection()
Dim mdb As New ADOX.Catalog()
Dim dt As New ADOX.Table()
'dsStr = "C:\Temp\CreateDB\"
dsCN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp\createDB;Mode=ReadWrite;Extended Properties=Paradox 5.x;Persist Security Info=False"
'dsCN = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Paradox;Mode=ReadWrite;Initial Catalog=c:\temp\createDB"
cnADO.ConnectionString = dsCN
cnADO.Open()
mdb.ActiveConnection = cnADO
With dt
.Name = "test5"
.Columns.Append("Feeder Slot", ADOX.DataTypeEnum.adWChar, 11)
.Columns.Append("FeederTrack", ADOX.DataTypeEnum.adWChar, 11)
.Columns.Append("Part Number", ADOX.DataTypeEnum.adWChar, 41)
.Columns.Append("Feeder Type", ADOX.DataTypeEnum.adWChar, 21)
.Columns.Append("Reversed", ADOX.DataTypeEnum.adWChar, 11)
.Columns.Append("Comment", ADOX.DataTypeEnum.adWChar, 61)
.Columns.Append("Quantity", ADOX.DataTypeEnum.adWChar, 11)
'.Keys.Append("test3", ADOX.KeyTypeEnum.adKeyPrimary, "Feeder Slot")
End With
mdb.Tables.Append(dt)
mdb.ActiveConnection.Close()
MessageBox.Show("Finished", "Make DB")
End Sub
Private Sub cmdFillDB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdFillDB.Click
Dim rsADO As New ADODB.Recordset()
Dim cnADO As New ADODB.Connection()
Dim dsStr As String
Dim dsCN As String
dsStr = "C:\Temp\CreateDB\"
dsCN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp\createDB;Mode=ReadWrite;Extended Properties=Paradox 5.x;Persist Security Info=False"
cnADO.ConnectionString = dsCN
cnADO.Open()
rsADO.ActiveConnection = cnADO
rsADO.Open("Select * from test5", cnADO, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
rsADO.AddNew()
rsADO.Fields(1).Value = "101"
'rsADO.Fields(0).Value = "101"
'rsADO.Fields("FeederTrack").Value = "1"
'rsADO.Fields("Part Number").Value = "xxx-yyy-zzz"
'rsADO.Fields("Feeder Type").Value = "8mm"
'rsADO.Fields("Reversed").Value = "0"
'rsADO.Fields("Comment").Value = "Test this description"
'rsADO.Fields("Quantity").Value = "10"
rsADO.Update()
rsADO.Close()
cnADO.Close()
MessageBox.Show("Finished", "Value Update")
End Sub
End Class