Vb y Postgres

Hola, una duda, tengo un objeto tipo connection llamado db
db.open providerPostgres
db.execute "insert into test values('XXX', 0, 'xxx')"
El problema que tengo es que me marca error por querer insertar el valor cero,
pero si ese mismo query lo ejecuto en el Vis Data de visual no tengo error, en donde puede estar el error, gracias

1 Respuesta

Respuesta
1
Bueno primero que nada dejame disculparme por la demora en responderte...
Tu problema esta en la estructura que utilizas para tratar de ejecutar tu comando SQL sobre tu objeto conexión no puedes ejecutar un execute a continuación te coloco un código que espero te ayude a solucionar tu problema:
******************************************************************************
Public Sub ExecQuery2(StrQuery As String, ConectaCon As ADODB.Connection)
On Error GoTo err_execquery
'== Open object adodb.command for execute
'== Querys in Sql Languaje
Set ExecuteQuery = New ADODB.Command
Set ExecuteQuery.ActiveConnection = ConectaCon
ExecuteQuery.CommandText = StrQuery 'Assign parameter enter in the procedure
ExecuteQuery.Execute 'Execute the Query
exit_execquery:
Exit Sub
err_execquery:
MsgBox Err.Description, vbInformation, ""
Resume exit_execquery
End Sub
Private Sub AlgunEventoOFuncion()
Set Connec1 = New ADODB.Connection
'si utilizas linea de coneccion te ahorras el echo de tener que crear DSN por cada
'maquina que vaya a utilizar el programa
Connec1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Mode=ReadWrite;Extended Properties=DRIVER={PostgreSQL};DATABASE=dist_electrica;SERVER=192.240.184.41;PORT=5432;UID=usuario1;READONLY=0;PROTOCOL=6.4;FAKEOIDINDEX=0;SHOWOIDCOLUMN=0;ROWVERSIONING=0;SHOWSYSTEMTABLES=0;CONNSETTINGS="
'La direccion IP la substitulles por la de tu servidor
'y el usuario por el que tu utilizas
Connec1.Open
Connec1.BeginTrans
Call Form1.ExecQuery2("INSERT INTO usuario_del_sistema" & _
"(username,password,nombre_usuario," & _
"cod_status_user, ip_address)VALUES('" & _
Text1.Text & "','" & Text2.Text & "','" & _
Text3.Text & "','1','0.0.0.0');", Connec1)
Connec1.CommitTrans
Connec1.Close
'de igualforma la coneccion la puedes utilizar para cualquier recordset
end sub
*******************************************************************
Bueno espero te sirva y pueda ayudar con tu problema
feliz día...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas