Re: Parameters.Refresh error. - Mailing list pgsql-odbc

From Adam Biser
Subject Re: Parameters.Refresh error.
Date
Msg-id 43C53DED.3080809@gmail.com
Whole thread Raw
In response to Re: Parameters.Refresh error.  (Ludek Finstrle <luf@pzkagis.cz>)
Responses Re: Parameters.Refresh error.  (Ludek Finstrle <luf@pzkagis.cz>)
List pgsql-odbc
> What's happen? I can't continue helping you without it.

Sorry this is later than expected, things got a bit around here.

I attached the code so that spacing is preserved.  It's in VB6 and just
a text file.  The first method works, but none of the others do.  I've
made note of the error I receive as comments in the code.  If there's
anything else you need, just let me know.

Thank you,
Adam
Dim dbc As ADODB.Connection
Dim cmd As ADODB.Command

Set dbc = New ADODB.Connection
dbc.Open "DSN=GALSTA Postgres;", UserID, Password
' Verify that the connection opened properly.
If dbc.State And adStateOpen Then
    Debug.Print "Connected"
    ' This method works.
'    dbc.Execute "Insert into CHAPTER (CHAPTERID, CHAPTERDESC) values (1,'test1')"
    ' Start the second method.
    Set cmd = New ADODB.Command
    Set cmd.ActiveConnection = dbc
    cmd.CommandText = "Insert into CHAPTER (CHAPTERID, CHAPTERDESC) values (?,?)"
    ' Error on next line: Provider cannot derive parameter information and SetParameterInfo has not been called.
    cmd.Parameters.Refresh
    cmd.Parameters.Item(0).Value = 2
    cmd.Parameters.Item(1).Value = "test2"
    cmd.Execute
    Set cmd = Nothing
    ' Start the third method.
    Set cmd = New ADODB.Command
    Set cmd.ActiveConnection = dbc
    cmd.CommandText = "Insert into CHAPTER (CHAPTERID, CHAPTERDESC) values (?,?)"
    Call cmd.Parameters.Append(cmd.CreateParameter("ID", adNumeric, adParamInput, 4))
    Call cmd.Parameters.Append(cmd.CreateParameter("DESC", adVarChar, adParamInput, 80))
    cmd.Parameters.Item(0).Value = 3
    cmd.Parameters.Item(1).Value = "test3"
    ' Error on next line: Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if
available.No work was done. 
    cmd.Execute
    Set cmd = Nothing
    ' Start the fourth method.
    Set cmd = New ADODB.Command
    Set cmd.ActiveConnection = dbc
    cmd.CommandText = "Insert into CHAPTER (CHAPTERID, CHAPTERDESC) values (?,?)"
    Call cmd.Parameters.Append(cmd.CreateParameter("ID", adNumeric, adParamInput, 4, 4))
    Call cmd.Parameters.Append(cmd.CreateParameter("DESC", adVarChar, adParamInput, 80, "test4"))
    ' Next line produces the same error as the third method.
    cmd.Execute
    Set cmd = Nothing
    ' Done
    dbc.Close
End If
Set dbc = Nothing

pgsql-odbc by date:

Previous
From: Ludek Finstrle
Date:
Subject: Re: Log: TextAsLongVarchar=0 don't work
Next
From: Ludek Finstrle
Date:
Subject: Re: Fw: Values in the select