[Mono-bugs] [Bug 75599][Nor] New - odbcDataAdapter.Update throws an
exception
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Thu Jul 21 08:19:16 EDT 2005
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by spek at impaq.com.pl.
http://bugzilla.ximian.com/show_bug.cgi?id=75599
--- shadow/75599 2005-07-21 08:19:16.000000000 -0400
+++ shadow/75599.tmp.17819 2005-07-21 08:19:16.000000000 -0400
@@ -0,0 +1,112 @@
+Bug#: 75599
+Product: Mono: Class Libraries
+Version: 1.1
+OS: Red Hat 9.0
+OS Details: Fedora Core
+Status: NEW
+Resolution:
+Severity:
+Priority: Normal
+Component: VB Runtime
+AssignedTo: mono-bugs at ximian.com
+ReportedBy: spek at impaq.com.pl
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: odbcDataAdapter.Update throws an exception
+
+Description of Problem:
+After adding new row in the DataTable object and calling the
+odbcDataAdapter.Update method the exception is thrown but new row is added
+to the databse.
+
+Steps to reproduce the problem:
+Create database and configure ODBC connection.
+Table:
+CREATE TABLE [EdTableName] (
+ [StoreKey] [int] NOT NULL ,
+ [BatchNo] [int] NOT NULL ,
+ [RecordType] [smallint] NOT NULL DEFAULT (31),
+ CONSTRAINT [EdPrim] PRIMARY KEY CLUSTERED
+ (
+ [StoreKey],
+ [BatchNo]
+ ) ON [PRIMARY]
+
+) ON [PRIMARY]
+
+Run following program:
+Sub Main()
+ Dim connStr As String = "DSN=xxx;UID=xxx;PWD=xxx"
+ Dim sqlStr As String = "select * from EdTableName"
+ Dim insertSql As String = "insert into EdTableName (StoreKey, BatchNo,
+RecordType) values (?, ?, ?)"
+
+ Dim conn As IDbConnection = New OdbcConnection(connStr)
+ conn.Open()
+ Dim command As IDbCommand = conn.CreateCommand()
+ command.CommandText = sqlStr
+
+ 'insert command
+ Dim insertCommand As IDbCommand = conn.CreateCommand
+ insertCommand.CommandText = insertSql
+ Dim parStoreKey As OdbcParameter = command.CreateParameter()
+ Dim parBatchNo As OdbcParameter = command.CreateParameter()
+ Dim parRecordType As OdbcParameter = command.CreateParameter()
+ CreateODBCParameter(parStoreKey, insertCommand, "StoreKey",
+OdbcType.Int)
+ CreateODBCParameter(parBatchNo, insertCommand, "BatchNo", OdbcType.Int)
+ CreateODBCParameter(parRecordType, insertCommand, "RecordType",
+OdbcType.SmallInt)
+
+
+ Dim dataAdapter As IDbDataAdapter = New OdbcDataAdapter
+ dataAdapter.SelectCommand = command
+ dataAdapter.InsertCommand = insertCommand
+
+ Dim ds As New DataSet
+ dataAdapter.FillSchema(ds, SchemaType.Source)
+ dataAdapter.Fill(ds)
+
+ Dim dt As DataTable
+ dt = ds.Tables(0)
+
+ Dim dr As DataRow = dt.NewRow()
+ With dr
+ .Item("StoreKey") = 1
+ .Item("BatchNo") = 10
+ .Item("RecordType") = 1
+ .EndEdit()
+ End With
+ dt.Rows.Add(dr)
+
+ dataAdapter.Update(dt.DataSet)
+ dt.AcceptChanges()
+ End Sub
+
+ Private Sub CreateODBCParameter(ByRef par As OdbcParameter, ByRef
+command As IDbCommand, _
+ ByVal colName As String, ByVal parType As OdbcType)
+ par.SourceColumn = colName
+ par.ParameterName = "?"
+ par.OdbcType = parType
+ par.Direction = ParameterDirection.Input
+ par.SourceVersion = DataRowVersion.Current
+ command.Parameters.Add(par)
+ End Sub
+Actual Results:
+Unhandled Exception: System.NotImplementedException: The requested feature
+is not implemented.
+in <0x0001d> System.Data.Odbc.OdbcCommand:get_UpdatedRowSource ()
+in <0x008f2> System.Data.Common.DbDataAdapter:Update (System.Data.DataRow
+[] dataRows, System.Data.Common.DataT
+ableMapping tableMapping)
+
+Expected Results:
+
+
+How often does this happen?
+Always when using parametrised insert command.
+
+Additional Information:
More information about the mono-bugs
mailing list