Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

¿Existe una forma elegante de insertar registros? Soluccionado!!

Estas en el tema de ¿Existe una forma elegante de insertar registros? Soluccionado!! en el foro de Visual Basic clásico en Foros del Web. Hola a todos: Existe alguna mejor forma de insertar registros que no sea de la siguiente forma: Código: varSql = "insert into tb_seguimiento_deudor (nr_ficha, nm_observacion_d, ...
  #1 (permalink)  
Antiguo 21/08/2008, 09:42
 
Fecha de Ingreso: enero-2007
Mensajes: 272
Antigüedad: 17 años, 4 meses
Puntos: 5
¿Existe una forma elegante de insertar registros? Soluccionado!!

Hola a todos:

Existe alguna mejor forma de insertar registros que no sea de la siguiente forma:

Código:
varSql = "insert into tb_seguimiento_deudor (nr_ficha, nm_observacion_d, fc_seguimiento_d) values ('" & 5 & " ','" & obs & " ','" & fecha & "')"
En realidad la forma que ando buscando es preparar el comando y pasarle los valores por
parámetros y no directamente (lo encuentro una mala práctica).


Ando buscando algo similar a lo que se hace en php.

Código PHP:
/* Prepare an insert statement */
$query "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt $mysqli->prepare($query);

$stmt->bind_param("sss"$val1$val2$val3);

$val1 'Stuttgart';
$val2 'DEU';
$val3 'Baden-Wuerttemberg';

/* Execute the statement */
$stmt->execute();

$val1 'Bordeaux';
$val2 'FRA';
$val3 'Aquitaine';

/* Execute the statement */
$stmt->execute();

/* close statement */
$stmt->close(); 

Gracias por el tiempo,

Saludos .-
  #2 (permalink)  
Antiguo 21/08/2008, 15:52
 
Fecha de Ingreso: enero-2007
Mensajes: 272
Antigüedad: 17 años, 4 meses
Puntos: 5
Respuesta: ¿Existe una forma elegante de insertar registros?

Estimados:

He encontado la manera, hay que realizarlo mediante la instrucción command.

Ej:

Código:
Private Sub mostrarCliente(varRut, varNroFicha)
   
   Dim cmd As ADODB.Command
   Dim rs1 As Recordset
   
   Set cmd = New ADODB.Command
   cmd.ActiveConnection = cnn
   
   varSql = "select * from hfpaci where rut_paciente = ? or numero_ficha = ?"
   
   cmd.CommandText = varSql
   If Not IsNull(varRut) Then
      cmd.Parameters(0).Value = varRut
   Else
      cmd.Parameters(0).Value = Null
   End If
   If Not IsNull(varNroFicha) Then
      cmd.Parameters(1).Value = varNroFicha
   Else
      cmd.Parameters(1).Value = Null
   End If
   
   Set rs1 = cmd.Execute()
      
   Set DGridClientes.DataSource = rs1
   DGridClientes.Refresh
   
   
   
   'rs.Close

End Sub
Me funciona, pero al momento de asignar el recorset el datagrid me dice lo siguiente:

El conjunto de registro no acepta marcadores

¿Qué podría ser?

Saludos .-
  #3 (permalink)  
Antiguo 22/08/2008, 01:29
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: ¿Existe una forma elegante de insertar registros?

Cita:
Iniciado por lucasarts_18 Ver Mensaje
Estimados:

He encontado la manera, hay que realizarlo mediante la instrucción command.

Ej:

......

Me funciona, pero al momento de asignar el recorset el datagrid me dice lo siguiente:

El conjunto de registro no acepta marcadores

¿Qué podría ser?

Saludos .-
Antes de ejecutar el comando, pon el cursor de la conexión del lado cliente:

cnn.CursorLocation = adUseClient


  #4 (permalink)  
Antiguo 22/08/2008, 07:09
 
Fecha de Ingreso: enero-2007
Mensajes: 272
Antigüedad: 17 años, 4 meses
Puntos: 5
Respuesta: ¿Existe una forma elegante de insertar registros?

Cita:
Iniciado por Avellaneda Ver Mensaje
Antes de ejecutar el comando, pon el cursor de la conexión del lado cliente:

cnn.CursorLocation = adUseClient
Gracias, funciona bien...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:33.