Spanish Ayuda en base de datos sencilla

jluisruelas

Member
Licensed User
Longtime User
¡hola amigos¡
soy nuevo en esta comunidad y en la programación de basic4android, necesito saber si me pueden colaborar con un tutorial desde cero :D sobre como crear una base de datos y como leer y almacenar los datos en esa base de datos, la cual solo la trabajare en el teléfono. es que mi aplicación requiere de guardar nombres y luego consultarlos
saludos y de ya gracias
 

edochan

Member
Licensed User
Longtime User
Pero alguien puede explicarlo sin ser en ingles, por favor, algo sencillito.
El traductor de google es un caos y cuando llegas cansado, por lo menos a mi me repatea andar traduciendo todo el tema.
Por favor, no es vagancia, hombre.
 

Heppy

Active Member
Licensed User
Longtime User
Pero alguien puede explicarlo sin ser en ingles, por favor, algo sencillito.
El traductor de google es un caos y cuando llegas cansado, por lo menos a mi me repatea andar traduciendo todo el tema.
Por favor, no es vagancia, hombre.
Edochan, creo que te has confundido.
Esto no es hacer una pregunta y que te pongan el codigo para hacer un corta y pega.
En el link que te han pasado, sin leer el texto con el código ya lo tienes.
Es muy fustrante pasar tiempo contestando temas y muchas veces con algún ejemplo que nos ha costado tiempo dasrrollarlo como para encima tener exigencias.
Por eso revisa tu post y vuelve a plantear una pregunta concreta.
Yo por lo menos es lo que pienso.
Si te molesta lo siento, pero hay gente que ofrece su tiempo para que todos y digo todos aprendamos y resolvamos dudas concretas.
Un saludo
 

edochan

Member
Licensed User
Longtime User
Heppy Espero que te hayas quedado a gusto. Supongo que habrá gente como la que proyectas en mi persona.
Si has interpretado en algo que yo haya escrito, que no valoro y reconozco el esfuerzo de los que nos ayudan a aprender esta lenguaje, te equivocas. Lo que creo es que estas a la que salta para ponerle el cartel al primero que te lo parezca, y no es mi caso.
Yo no quiero cortar y pegar sin entender. Eso es pan para hoy y hambre para mañana.
Me he pagado una licencia de B4A para aprender, ya que espero me resuelva una serie de necesidades en cuanto a apks muy especificas que necesito crear yo, como complementos a mi trabajo.
A lo que me refería es que para los que no tenemos la capacidad de entender tanto ingles como otros, una cosa como conectar una BD se hace dificilisima de comprender (o eso es lo que me parece después de estar mas de 1 semana leyendo y leyendo post) y que sería de agradecer poder encontrar orientación y ejemplos en el foro "spanish" y no que en este foro se nos redirija otra vez al de english. Nada más que eso. Ejemplos, no para copiar y pegar, yo necesito crear una BD con datos concretos, no se trata de 3 valores chorras.
Te aseguro que no estoy tratando de ahorrar dolores de cabeza, cada sesión en la que me meto profundamente a crear codigo en B4A, es para eso, para aprender me cueste lo que me cueste.
No todos tenemos la misma capacidad. Te ruego me perdones por ello.
Y no te lo tomes tu mal, que a veces el stress es lo que tiene.
Un saludo.
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Edochan:

Heppy Espero que te hayas quedado a gusto
Creo que no hay que llegar a estos extremos, todos tenemos nuestro malos momentos, y se que Heppy no te lo ha dicho con ninguna mala intención

Lo que creo es que estas a la que salta para ponerle el cartel al primero que te lo parezca
Y mucho menos esto, Heppy es uno de los que mas colabora en este foro, y como todos, perdiendo su tiempo, personalmente creo que esto está fuera de lugar, ya que la gente que responde intentando ayudar, no estamos para ponerle el cartel a nadie, por que nadie nacemos con todo sabido, asi que si piensas que Heppy o cualquiera de los que ayudamos en este foro, estamos esperando la oportunidad para encasillar a alguien, te equivocas, estamos mejor sin hacer nada y perder ese tiempo que dedicamos al foro.

Personalmente creo que el que ha tomado mal las palabras de Heppy has sido tu, por decirte:
Esto no es hacer una pregunta y que te pongan el codigo para hacer un corta y pega

Con esto lo que ha querido decir es que si nadie ha constestado a tu petición, es por que nadie dispone de un ejemplo en español, y lo que dice de que ya tienes el ejemplo y que puedes trabajar sobre el, es lo que hacemos todos cuando desconocemos algo, si disponemos de un ejemplo, trabajamos sobre el y cuando nos sale una duda concreta hacemos la pregunta en el foro. Al tu decir si nadie tenia un ejemplo, el te ha contestado con esa respuesta que no te ha gustado, quizas la encuentres un poco dura, pero ponte en el caso que intentas ayudar, y das todo lo que puedes, y en este caso concreto nadie ha puesto nada, solo un ejemplo en ingles, "es logico" que cuando tu pides uno en castellano, te diga que es una pregunta muy generica, creo que todos los que respondemos en mas de una ocasión lo hemos dicho, la mejor forma de que funcione esto es hacer preguntas concretas, y no tan genéricas como esa. Quizas lo que falte es que alguien se lance y haga un toturial en castellano, tu mismo cuando lo domines podrias contribuir haciendolo.

Bueno, espero que solo quede como un mal entendido y podamos seguir TODOS colaborando en este foro, los malos rollos solo hacen que la gente no colabore y este mas tiempo respondiendo a malas interpretaciones que resolver problemas.

Ahhh, cuando tengas un rato, por curiosidad lee algunos Post del foro inglés, y veras que muchas veces las respuestas comparada con la que te ha dado a ti, parece un cumplido.


Saludos
 

edochan

Member
Licensed User
Longtime User
Que hay? mis disculpas, he tenido un día muy complicado y quería tener tiempo para leer detenidamente vuestros correos y contestaros adecuadamente.
Vaya por delante una cosa: al escribir no se nota tan bien el talante con que la otra persona se esta tratando de expresar como cuando se hace vocalmente, quizás las palabras que escribí pueden parecer muy serias y con talante exigente, pero os aseguro que no era mi intención.
No creo que se me haya ofendido de ninguna manera y no me tengo por que poner a la defensiva, como tampoco creo que haya ofendido a nadie, si alguien se dio por tal, de verdad, mis mas sinceras disculpas.
cuando me metí en este post mi intención era ver si alguien de forma muy resumida nos dejaba algunas claves para empezar a tirar, pero en Español. Sin más pretensiones, de verdad. No era mi intención hacerlo con un sentido impositivo, ni se me ocurriría, creí que dado el buen talante de los que os lo curráis aquí, se entendería y he visto que no, que saltan chispas porque lleváis mucho trabajo realizado y en general somos muy ingratos. Ahora lo comprendo. Y os vuelvo a pedir mis mas sentidas disculpas, sobre todo a Heppy.
Ojala llegue el día que yo mismo sepa tanto como para resolverle dudas a otros iniciados, y si no al tiempo.

Y nada mas, con Heppy ya he tenido otra conversación por privado y creo que no hay tensiones, fue una grave falta de tacto por mi parte que espero enmendar y no volver a cometer.

Un saludo a todos.
 

Heppy

Active Member
Licensed User
Longtime User
Por mi parte, edochan no hay ningún problema.
Ya te comenté que si quieres hacer una pregunta concreta, y si está en mi mano te responderé.

Empecemos:

Crear base y tablas
Sub Process_Globals
Dim SQL1 As SQL
End Sub

Sub Globals

End Sub

Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then
SQL1.Initialize(
File.DirDefaultExternal, "test1.db", True)
End If
Creartablas
LlenarDatos
InsertarmcuchaFilas
Log("Number of rows = " & SQL1.ExecQuerySingleResult("SELECT count(*) FROM table1"))
End Sub
CrearTablas, aqui si queremos las borramos con DROP y las volvemos a crear (Tú verás si quieres borrar los datos existentes)

Sub Creartablas
SQL1.ExecNonQuery("DROP TABLE IF EXISTS table1")
SQL1.ExecNonQuery(
"DROP TABLE IF EXISTS table2")
SQL1.ExecNonQuery(
"CREATE TABLE table1 (col1 TEXT , col2 INTEGER, col3 INTEGER)")
SQL1.ExecNonQuery(
"CREATE TABLE table2 (name TEXT, image BLOB)")
End Sub

Meter datos:
Sub LlenarDatos
SQL1.ExecNonQuery("INSERT INTO table1 VALUES('abc', 1, 2)")
SQL1.ExecNonQuery2("INSERT INTO table1 VALUES(?, ?, ?)", ArrayAsObject("def", 3, 4))
End Sub

Pero para mi gusto simpre utilizo las transacciones para asegurarme que todo está correcto
Sub InsertarmcuchaFilas
SQL1.BeginTransaction
Try
For i = 1To 500
SQL1.ExecNonQuery2("INSERT INTO table1 VALUES ('def', ?, ?)", ArrayAsObject(i, i))
Next
SQL1.TransactionSuccessfulCatchLog(LastException.Message)
End Try
SQL1.EndTransaction
End Sub

Pueden ser 500 datos o uno simplemente, ya te digo que yo simpre uso transacciones.

Esto es cogido del post que te pusó bjsoft.
Si tienes una pregunta más concreta, posteala.
Un saludo

PD: espero no haber metido la pata en el código
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Edochan

Gracias por tu respuesta y disculpas.



creí que dado el buen talante de los que os lo curráis aquí, se entendería y he visto que no, que saltan chispas porque lleváis mucho trabajo realizado y en general somos muy ingratos

Creo que en general hay buen talante, la prueba es que muchos intentamos ayudar y respondemos, si no hubiese buen talante no responderiamos, ya que no hay peor desprecio que ignorar a las personas. Lo que pasa es que hay momentos que a alguien se le da una solución aunque sea en el foro inglés y la persona que lo recibe puede pensar que nos lo queremos quitar de encima. No crees que si el que responde tiene un ejemplo en castellano te lo pasaria antes que el de inglés? estamos en el foro español, asi que el sentido de este foro es ese, buscar respuesta en nuestro idioma, pero cuando no las hay, y hay uno en otro idioma, pensamos que es mejor eso que nada. Y sobre todo por una cuestion muy simple, aunque esten los comentarios en chino, el código estará en inglés, como todo lo que se realiza en B4A (y la mayoria de sistemas de desarrollo) , por lo tanto pensamos que es mejor disponer de un ejemplo y empezar a jugar con el, intentando entenderlo a base de prueba/error que es lo que hacemos todos cuando no entendemos algo, que no responder. Y cuando al final te quedas parado en "un problema concreto", entonces es el momento de poner los post que hagan faltan, y seguro que encontraras mas respuestas a esas preguntas concretas que a una tan genérica como la que hiciste. Y lo mas importante, tu solucionaras tu problema pero gracias a esa respuesta tambien se beneficiaran otros, y este es el sentido del foro, o al menos es el que yo entiendo, ayudarnos todos.
Este fue el sentido de la respuesta de Heppy, y no estamos que nos saltan chispas, simplemente cuando alguien hace una pregunta tan genérica y no tenemos la solución, pues hay que decirle que haga preguntas concretas, y no es algo en exclusiva de Heppy, lo hacemos todos, hasta en el foro inglés te dicen que hagas preguntas concretas.

porque lleváis mucho trabajo realizado y en general somos muy ingratos
Creo hablar por mas de uno, no ayudamos esperando ningún tipo de recompensa, lo hacemos simplemente por que queremos ayudar, por que tambien en algun momento a nosotros alguien desinteresadamente nos ha ayudado o nos puede ayudar. Y tu mismo cuando alguien haga una pregunta que tu sepas le responderás. Otra cosa es que a veces pierdes un montón de tiempo incluido con algun ejemplo, y ya no solo no es capaz de hacer un Like, si no que ni siquiera es capaz de poner [SOLUCIONADO] para que de esa forma, al igual que el se ha beneficiado de esa respuesta, lo puedan hacer mas gente sin tener que perder el tiempo en entrar en post para luego averiguar que no hay una solución. Esto nos enciende mas "chispas" que nada, por que si no quieres agradecer a quien te ha dado una solución, al menos piensa en los demas.

Saludos
 
Top