Re: NO funciona ADDNEW en postgresql - ADO - VB6

From: "Guillermo =?iso-8859-1?b?TXXxb3o=?=" <guillermo(dot)munoz(at)grupotekne(dot)com(dot)ar>
To: suso <jlcubas(at)terra(dot)es>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: NO funciona ADDNEW en postgresql - ADO - VB6
Date: 2007-11-02 15:40:41
Message-ID: 20071102124041.lp3ja3tnxes40gso@webmail.vit4b.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Quoting suso <jlcubas(at)terra(dot)es>:

> Hola de nuevo Guillermo, gracias por to atención y respuesta.
>
> Muy bien explicado como siempre:)
>
> El único "problemilla" en usar execute es que a la hora de "ver"
> datos incorrectos, es decir, depurar lo que se introduce en cada
> campo, es dificil detectar ei un dato determinado introducido en un
> determinado campo es incorrecto, y cosas así, pero si no hay otra
> solución, seguimos adelante
>
Bien, vas a tener que hacer las validaciones (de los campos del formulario)
antes de abrir las conexciones y hacerte algunas funciones de conversion para
los caracteres raros (',/,etc),las fechas y los numeros (de coma a puntos)

Saludos

>
>> Quoting suso <jlcubas(at)terra(dot)es>:
>>
>> suso, yo trabaje varios años programando en VB6 y postgres. la
>> metodologia que estas usando es para herramientas de micrososft
>> (access o sqlserver) ahi funciona bien. la metodologia que tenia era
>> correr directamente los inserts o update sobre la conexion usando
>> transacciones por ejemplo:
>> Set datos = New Adodb.Connection
>> cadena = "Provider=PostgreSQL.1;Password=xxxxx;User
>> ID=postgres;Data Source=localhost;Location=prueba"
>> datos.ConnectionString = cadena
>> datos.Mode = adModeReadWrite
>> datos.Open
>> datos.CommandTimeout = 20
>> Set tabla = New Adodb.RecordSet
>> tabla.CursorType = adOpenDynamic
>> tabla.CursorLocation = adUseClient
>> 'determinar si el registro en cuestion existe o no
>> tabla.Open "select id from nombres where id=" & parametroid,
>> datos, adOpenDynamic, adLockOptimistic
>> On Error GoTo ErrorHandler
>> datos.BeginTrans
>> if tabla.eof then 'el registro no existe
>> sql="insert into nombres values(......)"
>> else 'el registro existe
>> sql="update nombres set .... where id=" & parametroid
>> end if
>> datos.execite sql 'ejecuta la sentecia
>> datos.CommitTrans
>> tabla.Close
>> datos.close
>> set tabla=nothing
>> set datos=nothing 'importanticimo
>> Exit Sub
>> ErrorHandler:
>> DisplayError (Err.Description)
>> if datos.state=1 then
>> datos.rollbacktrans
>> datos.close
>> set datos=nothing 'importanticimo
>> end if
>> end sub
>
>
> Lo he puesto como me comentas, y me da algún ripo de error, que hace
> crasear al VB y me saca fuera
> puse el execute como sigue
>
> datos.BeginTrans
> tabla.AddNew
>
> tabla.Fields("nombre") = "manuel"
> tabla.Update
> datos.CommitTrans
> tabla.Close
> ...
>
> Ni siquiera me lleva al manejador de error...
> Me tiene un poco "mosca"
>
> Y aparte de so, estoy haciendo un simple listado con un datagrid y un
> control ado, si en la cadena de conexión le pongo un DSN, puedo
> escribir en el datagrid, pero si le pongo la cadena de conexión no me
> deja, sólo me deja leer...
>
>> a grandes razgos esa era la metodologia usada, algunos tip:
>> Cursores del lado del seridor: falla
>> hacer nothing tando de los recorset como de las connections
>> usar adOpenDynamic en recordset solo si te vas a mover de atras
>> para adelante, sino usa el static
>> etc
>>
>> tambien tiene que ver mucho el ODBC que estes usando, yo hace 2 años
>> que no desarrollo en postgres y en ese tiempo era la unica forma.
>>
>> Es buena opcion usar adodb en vez de los controles, como ya habias
>> preguntado
>>
>> Saludos, espero te sirva
>> Guillermo Muñoz
>>
>>>
>>> suso
>>> Islas Canarias
>>>
>>>
>>> --
>>> TIP 5: ¿Has leído nuestro extenso FAQ?
>>> http://www.postgresql.org/docs/faqs.FAQ.html
>>
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Osvaldo Rivas - Farma SRL 2007-11-02 17:46:02 Re: hora del servidor
Previous Message Rafael Yordanis Rodríguez Montero 2007-11-02 15:29:41 RE: pregunta sobre trigger