Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Agregar Nombre Y Edad Base Datos Y Mostrarlos Con Un ColumnView
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Agregar Nombre Y Edad Base Datos Y Mostrarlos Con Un ColumnView 
 
Hola Amigos aqui les traigo mi primer proyecto..! Espero que les ayude y les guste..!  
Bueno me precento Soy José Chen de la ciudad de Panamá tengo 19 años y curso el primer año de Ing. Sistemas Informaticos. Me gusta la programacion ya que es mas que nada saber conocimientos y saber pensar un poco...!!

Aqui les dejo mi primer programa..!
Lo que hace este programa es Agregar un nombre y una edad y mostrarla en un ColumnView..!

Requisitos
- gambas 2 "Obviamente"
- Base de Datos MySql ( pueden crearla desde www.freesql.org )

Instrucciones
Creamos un nuevo proyecto en gambas y agregamos:
textbox con el nombre "nombre"
Combobox con el nombre "edad"
Button con el nombre "Agregar"
ColumnView lo dejamos con su mismo nombre "ColumnView1"

Les Agregan tambien si decean label para saber lo que la persona debe poner..! Quedaria asi

imagen

Codigo

PUBLIC cn AS Connection ''Declaracion de Variable para la coneccion


PRIVATE FUNCTION coneccion(query AS String) AS Result ''Funcion para conectar base de dato y ejecutar una sentencia
DIM res AS Result
cn = NEW Connection
cn.close
cn.Type = "mysql"
cn.Host = "FreeSQL.org"
cn.User = "gambas"
cn.Password = "gambas"
cn.Name = "nombreyedad"
cn.Open  
res = cn.Exec(query)  
RETURN res
END


PRIVATE SUB colvie() ''es un tipo de funcion pero no retorna valor es para cargar los datos a la ColumnView
DIM res AS Result
DIM i AS Integer
ColumnView1.Clear  ''Borra todos los datos de ColumnView1
ColumnView1.Columns.Count = 2 ''Creo dos Columnas
ColumnView1.Columns[0].Text = "Nombres" ''Le Agrego un nombre a la columna 0
ColumnView1.Columns[0].Width = 200 '' Ancho de la Columna
ColumnView1.Columns[0].Alignment = 3 ''Aliniamiento al Centro
ColumnView1.Columns[1].Text = "Edad"
ColumnView1.Columns[1].Width = 50
ColumnView1.Columns[1].Alignment = 3
res = coneccion("select * from nombreyedades order by edad") ''Llamo a la funcion coneccion y envio la sentencia
FOR i = 0 TO res.Count - 1 STEP +1 ''Sistema de repeticion para agregar los datos a la columna
ColumnView1.Add(i, res!nombre)
ColumnView1[i][1] = res!edad
res.MoveNext
NEXT
cn.Close ''Cierro la coneccion
END


PUBLIC SUB Form_Open()
DIM i AS Integer
colvie() ''Cargo los datos a la ColumnView1
FOR i = 10 TO 90 STEP +1 ''Ciclo para la edad del 10 al 90
edad.Add(i)
NEXT
END

PUBLIC SUB Agregar_Click() ''Boton de Agregar el Nombre y la Edad
DIM query AS String
DIM valor AS Boolean
query = "insert into nombreyedades value('" & nombre.text & "','" & edad.text & "')"
coneccion(query)
Message.Info("El Nombre y La Edad Fueron Agregados Correctamente ", "Aceptar")
nombre.Text = ""
edad.text = ""
colvie()
END

Aqui les dejo el Proyecto con la Base de datos ya Conectada

Bajar Codigo

Espero que les Ayude y Mucha Suerte....!!
 



 
chen_08 - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Nombre Y Edad Base Datos Y Mostrarlos Con Un ColumnView 
 
COMPAÑERO BUENAS NOCHES...

Primero que todo muchas gracias por el código de el software que creaste.

de verdad para mi que soy principiante me ha servido mucho.

mi pregunta es la siguiente y no se si pecare o diré una estupidez por ignorancia pero sera posible que me regales también el código de la base de datos que usas para correr el software.

yo puedo recrearla (eso es lo que creo) pero no tengo la certeza de que lo hice bien

gracias
 



 
JCHOXXX - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Nombre Y Edad Base Datos Y Mostrarlos Con Un ColumnView 
 
Hola

Mirando el código se puede deducir. Mira esta sentencia:
query = "insert into nombreyedades value('" & nombre.text & "','" & edad.text & "')"


Así que hay una tabla nombreyedades que tiene dos campos: nombre y edad.

Así que tu creas tu base de datos
Dim Cn as new connection, Tabla as table
Cn.login="root"
Cn.password="clave"
cn.host="localhost"
cn.type="mysql" 'este ejemplo es una conexión a mysql. Usa la conexión a donde quieras.
cn.open 'abrir con el usuario root

if cn.opened then
   cn.databases.add("mibase")
   cn.close 'cerrar conexión de root
   cn.name="mibase"
   cn.open 'abrir conexion a mibase
endif

if cn.opened then
   tabla=cn.table.add("nombreyedades" 'crear tabla nombreyedades
   tabla.tablefields.add("nombre",db.string,20) 'crear campo nombre de tipo string y tamaño 20
   tabla.fields.add("edad",db.integer) 'crear campo edad de tipo entero
   tabla.update 'grabar tabla
endif


y todo esto lo tienes explicado con detalle aquí
La clase connection
 



 
última edición por soplo el Lunes, 16 Noviembre 2009, 20:20; editado 1 vez 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Nombre Y Edad Base Datos Y Mostrarlos Con Un ColumnView 
 
Hola, primero de todo, decirte que gracias. Soy principiante y creo que esto me valdrá para poder aprender algo mas.

La verdad es que me gustaría hacer alguna aplicación con la que insertar/leer datos en una base de datos mysql online.
Cuando llegue a casa me pondré manos a la obra con este código haber si lo consigo hacer funcionar... pero mi pregunta es,
si cambio los datos por los del servidor online podre conectar con la base de datos online? También informo de que mi base de datos es accesible desde fuera, es decir no necesita estar en la web, porque tengo una aplicación en flash en local, a la cual me permite conectar con ella...

Gracias
 




===================
Hay dos cosas infinitas: el Universo y la estupidez humana. Y del Universo no estoy seguro.
Albert Einstein

En el SEXO querer es poder, si ELLA quiere, TU puedes.
Cubel!
 
Cubel - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Nombre Y Edad Base Datos Y Mostrarlos Con Un ColumnView 
 
Hola de nuevo. No hace falta que contesteis al mensaje anterior. Ya he conseguido que me coja los datos de otra base de datos que tenia yo en internet...

Pero tengo una pregunta, en:
Citar:
ColumnView1.Clear ''Borra todos los datos de ColumnView1
ColumnView1.Columns.Count = 2 ''Creo dos Columnas
ColumnView1.Columns[0].Text = "Nombres" ''Le Agrego un nombre a la columna 0
ColumnView1.Columns[0].Width = 200 '' Ancho de la Columna
ColumnView1.Columns[0].Alignment = 3 ''Aliniamiento al Centro
ColumnView1.Columns[1].Text = "Edad"
ColumnView1.Columns[1].Width = 50
ColumnView1.Columns[1].Alignment = 3
res = coneccion("select * from nombreyedades order by edad") ''Llamo a la funcion coneccion y envio la sentencia
FOR i = 0 TO res.Count - 1 STEP +1 ''Sistema de repeticion para agregar los datos a la columna
ColumnView1.Add(i, res!nombre)
ColumnView1[i][1] = res!edad
res.MoveNext
NEXT

no hay forma de hacer autimatico lo de agregar columnas? es decir, yo ahora que no se pues he puesto a mano las 9 columnas que tiene la tabla, es decir
ColumnView1.Columns[0].Text = "---" ''Le Agrego un nombre a la columna 0
ColumnView1.Columns[0].Width = 200 '' Ancho de la Columna
ColumnView1.Columns[0].Alignment = 3 ''Aliniamiento al Centro
hasta el
ColumnView1.Columns[8].Text = "---" ''Le Agrego un nombre a la columna 0
ColumnView1.Columns[8].Width = 200 '' Ancho de la Columna
ColumnView1.Columns[8].Alignment = 3 ''Aliniamiento al Centro

y lo de:
ColumnView1.Add(i, res!nombre)
ColumnView1[i][1] = res!edad
hasta el
ColumnView1[i][8] = res!ultimacolumna...

Pero para mejorar esto, se podria hacer que cogiera el nombre de las columnas o por lo menos el numero de columnas o algo por el estilo? o es mucho pedir?

Gracias un saludo a todos!

P.D: este mensaje lo quise dejar sobre las 17 horas y no me dejo porque me decía que me esperara 24h, el administrador de la web puede quitarle esta restrincion? No lo digo para ofender ni mucho menos, porque si te digo la verdad, me enterado de la existencia de esta web hoy mismo, y he aprendido mas en 1 día aquí que 2 meses de buscar en Google y paginas. Solo lo digo porque foros como Cristalab funcionan bien sin la limitación de 24H.

Gracias!
 




===================
Hay dos cosas infinitas: el Universo y la estupidez humana. Y del Universo no estoy seguro.
Albert Einstein

En el SEXO querer es poder, si ELLA quiere, TU puedes.
Cubel!
 
Cubel - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Nombre Y Edad Base Datos Y Mostrarlos Con Un ColumnView 
 
Cubel escribió: [Ver mensaje]


P.D: este mensaje lo quise dejar sobre las 17 horas y no me dejo porque me decía que me esperara 24h, el administrador de la web puede quitarle esta restricción? No lo digo para ofender ni mucho menos, porque si te digo la verdad, me enterado de la existencia de esta web hoy mismo, y he aprendido mas en 1 día aquí que 2 meses de buscar en Google y paginas. Solo lo digo porque foros como Cristalab funcionan bien sin la limitación de 24H.

Gracias!


Eso está explicado aquí: http://www.gambas-es.org/viewtopic.php?f=7&t=326

Respecto a la pregunta sobre los encabezados y columnas, no es posible hacerlo automáticamente, debes declarar al menos el nº de columnas y el texto para cada encabezado.
Pero el nº de columnas lo puedes obtener a partir del objeto Result que estés instanciando de esta manera:

DIM hres as Result
' conectar a la bd
'...
'obtener el nº de columnas a partir del resultado de la consulta
hres = conexion.exec("SELECT * FROM tuTabla")

ColumnView1.Columns.Count = hres.Count

' etc


Para asignar el texto de los encabezados puedes hacerlo en un SUB aparte y llamarlo desde tu rutina o al cargar el Form, pero siempre después de haber declarado el nº de columnas con la última sentencia del código de arriba.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Nombre Y Edad Base Datos Y Mostrarlos Con Un ColumnView 
 
ok ok,
Bueno pues te doy las gracias por las dos cosas. Lo de las 24 horas no lo sabia. Sabiendo que lo puedo modificar no tengo problema, la próxima vez lo modifico y ya esta.

Y lo otro, pues me a quedado claro pero supongo que a la hora de hacerlo me saldrán dudas y me tocara ir en vuestra ayuda otra vez.
 




===================
Hay dos cosas infinitas: el Universo y la estupidez humana. Y del Universo no estoy seguro.
Albert Einstein

En el SEXO querer es poder, si ELLA quiere, TU puedes.
Cubel!
 
Cubel - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Nombre Y Edad Base Datos Y Mostrarlos Con Un ColumnView 
 
Hola tengo una duda con lo que me digiste un dia.
jguardon escribió: [Ver mensaje]


Para asignar el texto de los encabezados puedes hacerlo en un SUB aparte y llamarlo desde tu rutina o al cargar el Form, pero siempre después de haber declarado el nº de columnas con la última sentencia del código de arriba.

Saludos

Al final he decidido guardar las columnas que van a aparecer en un archivo de settings... Es decir, si pone que la columna tal esta en si que la muestre si no no. Con varios if consigo tener el numero exacto de columnas que necesito, entonces las creo. pero acto seguido me gustaria hacer un array de esto:
FOR i = 0 TO res.Count - 1 STEP +1 ''Sistema de repeticion para agregar los datos a la columna  
matriculas_table.Add(i, res!matricula)  
matriculas_table[i][1] = res!cliente  
matriculas_table[i][2] = res!marca  
matriculas_table[i][3] = res!caracteristicas  
matriculas_table[i][4] = res!medidaNeumaticos  

res.MoveNext  
NEXT  

es decir en el mismo IF que digo si es que si o que no, en el caso de que fuera que si, pues meter en un array lo que va detrás del res! lo que pasa que no se si se puede hacer o no. Tampoco tengo muy claro que puedo guardar y como en un array.
 




===================
Hay dos cosas infinitas: el Universo y la estupidez humana. Y del Universo no estoy seguro.
Albert Einstein

En el SEXO querer es poder, si ELLA quiere, TU puedes.
Cubel!
 
Cubel - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Nombre Y Edad Base Datos Y Mostrarlos Con Un ColumnView 
 
Hola

Cubel, aquí te dejo un código que te puede interesar. No lo he probado, pero creo que funcionará agregando tu conexión a la BD y adaptándolo a tus necesidades.

' gambas class file

PRIVATE $hres AS Result
PRIVATE $campos AS NEW String[]

PUBLIC SUB Form_Open()

  'aquí va el código o rutina para abrir tu conexión
  
  prepararEncabezadosTabla()
  $hres = conexion.Exec("SELECT * FROM tuTabla")
  matriculas_table.Rows.Count = $hres.Count

END

PRIVATE SUB prepararEncabezadosTabla()

  DIM rf AS ResultField
  DIM res AS Result
  DIM col AS Integer = 0
  
  res = conexion.Exec("SELECT * FROM tuTabla")
  'asignamos el nº de columnas a partir del nº de campos de la bd
  matriculas_table.Columns.Count = res.Fields.Count
  
  'asignamos los encabezados a partir de los nombres de campo de la tabla
  ' o un array si lo prefieres
  ' DIM campos AS NEW String[] = ["campo1", "campo2", "etc"]
  
  FOR EACH rf IN res.Fields
      $campos.Add(rf.Name) 'array donde guardamos los nombres de campos
      matriculas_table.Columns[col].Text = rf.Name
      INC col
  NEXT
    
END

'usamos el evento _Data del TableView para rellenarla automáticamente

PUBLIC SUB matriculas_table_Data(Row AS Integer, Column AS Integer)
    
    $hres.MoveTo(Row)
    matriculas_table.Data.Text = $hres[$campos[Column]]  
    ' coloreamos alternativamente las filas
    IF row MOD 2 = 0 THEN matriculas_table.Data.Background = Color.LightBackground    

END

'No olvides cerrar la conexión cuando ya no la necesites, p.ej. en el form_close()


Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Nombre Y Edad Base Datos Y Mostrarlos Con Un ColumnView 
 
ok voy a probarlo... ahora si me salen algunos problemas ya informo...
 




===================
Hay dos cosas infinitas: el Universo y la estupidez humana. Y del Universo no estoy seguro.
Albert Einstein

En el SEXO querer es poder, si ELLA quiere, TU puedes.
Cubel!
 
Cubel - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
9.00 9 9 1
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Como Realizar La Suma De Los Datos Cargado... drojas Bases de Datos 8 Miercoles, 22 Febrero 2017, 00:21 Ver último mensaje
jguardon
No hay nuevos mensajes Problemas Con Formularios Al Mostrarlos jsbsan General 8 Miercoles, 13 Abril 2016, 21:23 Ver último mensaje
v3ctor
No hay nuevos mensajes Como Calcular La Edad mym769 Aplicaciones/Fragmentos de Código 3 Jueves, 08 Marzo 2012, 05:59 Ver último mensaje
mym769
No hay nuevos mensajes Calcular La Edad Con DateDiff kexxya General 7 Viernes, 29 Abril 2011, 20:21 Ver último mensaje
DEATH
 

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
No puede descargar archivos
No puede publicar eventos en el calendario