Hi Michael,
>The documentation reads: for applications which are based on ODBC and
>apply the PREPARE-command the developer is responsible for the
>number of
>parse/EXECUTE orders.
>
>What does this mean? How can I fix the problem?
>
It means that the application has to prepare/parse the command again.
You can try it with a call to
e.oCommandM.Prepare()
If this doesn't help please post a zipped ODBC trace. To produce the
trace have a look to
http://sapdb.2scale.net/moin.cgi/ODBCTrace
Regards,
Burkhard
>-----Original Message-----
>From: Michael P. [mailto:[EMAIL PROTECTED]
>Sent: Mittwoch, 13. Juli 2005 04:24
>To: List
>Subject: update long + nested Sql Cmd => -8: Execution failed,
>parse again
>
>Hi group,
>
>The command
>
>UPDATE table1 SET field0 = '332211', longfield1 = ?, longfield2 = ?
>WHERE id = (SELECT id_inTable1 FROM table2 WHERE id = 7117)
>
>created the error '-8: Execution failed, parse again'. The fields
>'longfield1' and 'longfield2' of type long and have been specified in
>the parameters of the command beforehand and have also been
>'prepared'
>(Deteils see below in the vb.net code). The fields 'longfield1' and
>'longfield2' do only contain short strings such as 'hello maxdb' and
>'this and that'. :-)
>
>The error does neither occur in sql-commands where I use
>"WHERE id = 17"
>instead of "WHERE id = (SELECT ...)" nor when I don't have to handle
>fields of type long.
>
>The documentation reads: for applications which are based on ODBC and
>apply the PREPARE-command the developer is responsible for the
>number of
>parse/EXECUTE orders.
>
>What does this mean? How can I fix the problem?
>
>Best wishes and thanx for help
>Michael
>
>
>The vb.net code:
>
> Dim nameOfFieldLongL As String
> Dim valueOfFieldLongL As String
> Dim iFieldL As Integer
> Dim nFieldsL As Integer
>
> nFieldsL = arrlistFieldsOfTypeLong_fieldNamesA.Count
>
> If Me.oCommandM.Parameters Is Nothing Then
> Me.oCommandM.CreateParameter()
> End If
>
> For iFieldL = 0 To nFieldsL - 1
> nameOfFieldLongL =
>arrlistFieldsOfTypeLong_fieldNamesA(iFieldL)
> valueOfFieldLongL =
>arrlistFieldsOfTypeLong_fieldValuesA(iFieldL)
> valueOfFieldLongL = valueOfFieldLongL.Trim
>
> Me.oCommandM.Parameters.Add( _
> "@" & nameOfFieldLongL, _
> Odbc.OdbcType.NText).Value = valueOfFieldLongL
> Next
>
> Me.oCommandM.CommandText = sqlCommandA
> Me.oCommandM.Prepare()
>
> Me.oCommandM.ExecuteNonQuery() ' this line lead to '-8:
>Execution failed, parse again'
>
>
--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]