Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

(Ayuda) Con Guardar En La Base De Datos..

(Ayuda) Con Guardar En La Base De Datos..
Artículo
Responder citando    Descargar mensaje  
Mensaje (Ayuda) Con Guardar En La Base De Datos.. 
 
Hola, pues aquí estoy yo de nuevo.. Disculpen tanto fastidio pero es que de verdad necesito ayuda de uds que saben mas de esto que yo por como se han podido dar cuenta..

en fin explico mi nuevo problema...


Problema: Quiero guardar unos datos en la bases de datos "estoy trabajando con MySql"  el problema es que cuando intento guardar me dice que no hay suficientes argumentos pues lógico que es porque falta cosas pero decidí hacer una nueva tabla con solo 2 campos y persiste el problema y creo que es un error en el código se los agradecería si me pudieran ayudar de nuevo para que me digan en que estoy fallando aquí les muestro lo que tengo del código..

Modulo: Conexión
BD: fames
tabla: docente
campos: id_docente<--("Auto Incrementable"), nombre_docente (char)

Public Sub conectar()
cn.Type = "mysql"
cn.Host = "localhost"
cn.Login = "****"
cn.Password = "*******"
cn.Name = "fames"
Try cn.Open
If Error Then
Message.Error("Error en la conexion a Base de Datos " & cn.name)
Endif
End

Public Function EjecutaSQLRV(sentencia As String) As Variant  
Dim valor As String
  Try rs = cn.Exec(sentencia)
  If Error Then
     Message.Error("Error Ejecutando la sentencia " & sentencia)
  Endif
If rs.Available Then
  valor = rs[0]
  Return valor
End If
End


*************Conexion a la abse de datos********** hasta aquí todo va bien porque incluso pude hacer la validación de usuario y contraseña pero ingresando los datos manualmente..

****Función para guardar**********

Public Function DatosBasicos(operacion As Integer, id_docente As Integer, docentes As String)
Dim s As String
   conexion.cn.Exec(s)
    s = IIf(operacion = -1, "INSERT INTO  fames SET ", " UPDATE  fames SET")
    s = s & "id_docente='" & id_docente& "', "
    s = s & "nombre_docente='" & docentes.Text & "', "
    If (operacion <> -1) Then
    s = s & " where id= " & conexion.ID
    End If
 
    If operacion = -1 Then
        conexion.ID = Val("0" & conexion.EjecutaSQLRV("Select Max(id) from  institucion "))
    End If
End



****************boton guardar********************

Public Sub Form_Open()

  conexion.conectar()

End

Public Sub Button1_Click()

   Dim save As Variant
 
 save = conexion.DatosBasicos("operacion, id_docentes, nombre_docente")'<-------- aquí es donde me presenta el problema donde dice que faltan argumentos "aunque esten los 2 que tengo"

 If save.tag = 1 Then
      conexion.DatosBasicos("-1, nombre.tex")
     Message.Info("Se ha guardado ")
  
     Else
      conexion.DatosBasicos("conexion.ID, nombre.text")
    Message.Info("Se ha modificado ")

  Endif

End



bueno como les explique no me guarda y dice que faltan argumentos y me parece extraño porque solo tengo 2 campos id y nombre

nota: el texbox se llama: docente

les agradecería su ayuda de verdad...

Gracias

Saludos!



 
OneErick - Ver perfil del usuario Enviar mensaje privado  
OneErick [ Martes, 05 Marzo 2013, 00:53 ]
 


(Ayuda) Con Guardar En La Base De Datos..
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: (Ayuda) Con Guardar En La Base De Datos.. 
 
yo no se mucho de msql , pero que yo tenga entendido es que el campo de id_docente es autoincrementable y no necesitas escribir el el nombre del campo  en el "Insert" ya que no ingresaras ningun datos , solo el campo se auto incrementara a medida que vallas ingresando registros en la base de datos



 
metalgearxd - Ver perfil del usuario Enviar mensaje privado  
metalgearxd [ Martes, 05 Marzo 2013, 01:04 ]
Responder citando    Descargar mensaje  
Mensaje Re: (Ayuda) Con Guardar En La Base De Datos.. 
 
metalgearxd escribió: [Ver mensaje]
yo no se mucho de msql , pero que yo tenga entendido es que el campo de id_docente es autoincrementable y no necesitas escribir el el nombre del campo  en el "Insert" ya que no ingresaras ningun datos , solo el campo se auto incrementara a medida que vallas ingresando registros en la base de datos



bueno aunque coloque esa linea como comentario igual problema persiste.. y aunque coloque esto:

save = conexion.DatosBasicos(-1 "nombre_docente")

 el  problema es que no me reconoce el argumento.. tienes alguna idea de porque?



 
última edición por OneErick el Martes, 05 Marzo 2013, 01:30; editado 1 vez 
OneErick - Ver perfil del usuario Enviar mensaje privado  
OneErick [ Martes, 05 Marzo 2013, 01:29 ]
Responder citando    Descargar mensaje  
Mensaje Re: (Ayuda) Con Guardar En La Base De Datos.. 
 
save = conexion.DatosBasicos("operacion, id_docentes, nombre_docente")


Si unificas todos los parámetros con comillas, conviertes todo en un parámetro sólo y te faltan dos.

Prueba con

save = conexion.DatosBasicos(operacion, id_docentes, nombre_docente)




 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Martes, 05 Marzo 2013, 09:44 ]
Responder citando    Descargar mensaje  
Mensaje Re: (Ayuda) Con Guardar En La Base De Datos.. 
 
Cierto, shordi.

Conviene echar un vistazo a algunas opiniones sobre el uso de la sintaxis de INSERT con VALUES vs SET:

http://stackoverflow.com/questions/...-into-table-set

Son equivalentes, aunque la segunda es una extensión de mysql y puede que solo funcione con mysql. Si algún día decides cambiar a sqlite, tendrás que cambiar la sintaxis y tendrás seguro un problema que no verás fácilmente.

Saludos



 
jguardon - Ver perfil del usuario Enviar mensaje privado  
jguardon [ Martes, 05 Marzo 2013, 12:49 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron