Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Quiero Que Al Llamar El Txt Se Introduzca En Una Base De Datos
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Quiero Que Al Llamar El Txt Se Introduzca En Una Base De Datos 
 
tengo este codigo es para llamar un txt

pat = "/home/" & User.Name & "/texto.txt"            
  
  TRY hfile = OPEN pat FOR READ    
  
  IF IsNull(hfile) = FALSE THEN          
      WHILE NOT Eof(hfile)                
          LINE INPUT #hfile, linea          
          
          lei = Conv$(lin)      
          lei = Trim(lei)                                
          
'           Message.Info(leido)
          datos[k] = lei      
          k += 1                
  
      WEND
      hfile.Close                  
  ENDIF
'   datos = Split(linea, "\n")
  FOR k = 0 TO 22
      IF dat[k] = "" THEN
'         arr_subcadena = Split(datos[k], ",")
          
      ELSE
          tot += Val(dat[k])
          
      ENDIF
  
  NEXT
  
END


pero ahora quiero llamar el txt y a la misma vez entrarlo a la base de datos
 



 
yaga - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Quiero Que Al Llamar El Txt Se Introduzca En Una Base De Datos 
 
No entiendo muy bien alguna de las cosas que haces en el código que subes, pero si lo que quieres es cargar un fichero de texto en una variable, sólo tienes que hacer esto:
dim s as string

s=file.load("/home/" & User.Name & "/texto.txt" )


Si ahora lo que quieres es grabarlo en una base de datos, sólo tienes que asignar esa cadena al campo donde quieres grabarla

dim cx as new connection

dim la_clave as variant
dim s as string

s=file.load("/home/" & User.Name & "/texto.txt" )
'asignas parámetros a la BD
cx.host="bla bla bla"
cx.user="bla bla bla"
cx.type="bla bla bla"
cx.password="bla bla bla"
cx.name="bla bla bla"
'obtienes la clave del registro que quieres grabar de algún sitio
mi_clave="tu_sabrás_de_dónde_la_sacas"
'abres la BD
cs.open
'grabas el fichero en el registro de la tabla "mitabla"
cx.exec("update mi_tabla set mi_campo=&1 where mi_clave=&2",s,la_clave)


...y ya está. Por supuesto si lo que quieres es crear el registro tendrás que usar insert into y no update, etc. etc. pero así es como se hace.
 




===================
No podemos regresar
 
última edición por shordi el Jueves, 07 Abril 2016, 17:26; editado 3 veces 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Quiero Que Al Llamar El Txt Se Introduzca En Una Base De Datos 
 
Tengo que guardarlo en varias variables porque tiene código, precio, costo y están separados por coma
 



 
yaga - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Quiero Que Al Llamar El Txt Se Introduzca En Una Base De Datos 
 
Yaga, tu código mostrado tiene cosas que no se entienden, tiene variables que ni idea de la utilidad que te presta.
En simple, lo que entiendo por tu siguiente mensaje es que las lineas estan separas por coma,o sea que tu archivo txt es un un .csv ¿cierto? (o algo por el estilo) Pues bien, una forma seria que:
-a medida que lees una línea la separes por la coma con Split,
-el arreglo que traspaste lo anterior lo guardes en la bd, recorriendolo con un For...

Ahora si usas file.load deberás cortar las lineas primero y luego hacer lo que te dije. Las lineas terminan en "/n"

En este enlace hay ejemplos de lectura de archivo para que te guies:

http://www.gambas-it.org/wiki/index...n_file_di_testo
 



 
vicr - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Quiero Que Al Llamar El Txt Se Introduzca En Una Base De Datos 
 
El código lo tengo así:

PUBLIC SUB Button2_Click()
  
  DIM pat AS String
  DIM hfile AS File
  DIM li AS String
  DIM k AS Integer
  DIM lei AS String
  
  

  
  pat = ("/home/" & User.Name & "/texto.txt")          
  
  TRY hfile = OPEN pathl FOR READ  
  
  IF IsNull(hfile) = FALSE THEN          
      WHILE NOT Eof(hfile)                
          
          LINE INPUT #hfile, li        
          
          lei = Conv$(li, "ISO-8859-15", "UTF-8")        
          lei = Trim(leido)                            

      WEND
      Mo.conn.Exec("insert into producto set cod='" & li & "," "', desc='" & li & "\n" "'")
  
  ENDIF
 
END



Me lo registra en la base de datos, pero registra la línea completa con la coma y yo lo quiero que en cada coma coja otra celda.

Gracias por la ayuda que me den
 



 
yaga - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Quiero Que Al Llamar El Txt Se Introduzca En Una Base De Datos 
 
Para eso mira en las ayudas la función Split()
Es una funciòn que te divide una cadena utilizando un separador, la coma en este caso, y mete cada parte en un String[]. Luego con recorrerlo puedes pasar los valores a los campos de la tabla.
Consulta las ayudas sobre eso.

Saludos
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Insertar Datos De Una Tabla De Base De Dat... Daniel_2901 Bases de Datos 3 Martes, 18 May 2010, 15:04 Ver último mensaje
chen_08
No hay nuevos mensajes Pasar Todos Los Datos De Un Table View A U... alan Instalación 7 Domingo, 27 Febrero 2011, 23:48 Ver último mensaje
alan
No hay nuevos mensajes Se Puede En Una Grilla Mostrar Los Datos D... metalgearxd General 5 Jueves, 28 Febrero 2013, 20:54 Ver último mensaje
shordi
No hay nuevos mensajes Como Puedo Modificar Datos De La Base De D... metalgearxd General 2 Viernes, 01 Marzo 2013, 13:40 Ver último mensaje
metalgearxd
 

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


 
Lista de permisos
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



  

 

cron