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


Objetivo: (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!

Perfil MP  
Objetivo: 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

Perfil MP  
Objetivo: 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
Perfil MP  
Objetivo: 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)

Perfil MP  
Objetivo: 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

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.7386s (PHP: -80% SQL: 180%)
Consultas SQL: 46 - Debug off - GZIP Activado