Spanish consulta SQL y combobox

Maki25

Member
Licensed User
Longtime User
Hola,

Tengo un problema con las consultas a la base de datos;
Me conecto a la base de datos como el manual dice y consigo introducirlo todo a una tabla según el manual. El problema es que si quiero que la consulta quede en otro objeto como un combobox o un textbox u otro no se como hacerlo, y en el manual no lo explica, o creo que no :BangHead:

Mas o menos hago esto;

sub combobox_Gotfocus

connection.BeginTransaction
command.commandtext= " SELECT * FROM Productos WHERE Tipo ='Bebida'"
'aquí selecciona los que en la tabla "Producto" y listado " Tipo " pone Bebida
command.executetable("mitabla",1000)
' y aquí lo meto en una tabla


El problema es aquí ahora, como puedo conseguir colocar elresultado de la consulta en otro objeto, como por ejemplo en un combobox.add(...) o en un texto.text o en una variabla cualquiera.:confused:

El programa lo tenía en visual basic6 con una base de datos acces y era diferente a la hora de utilizar los objetos.

Si me echáis una mano os lo agradecería mucho.:)

Gracias y un saludo
Maki25
 

Picard

Member
Licensed User
Longtime User
Hola Maki.
No sé si te he entendido bien, pero te adjunto un procedimiento que uso para meter en un combobox (CMBTabla) todas las tablas de una base de datos.
Ya ves uso el Reader para leer y añadir al control el elemento leído.
No sé si es eso lo que buscas, pero espero que te dé ideas.
Me parece que lo saqué del tutorial SQL de Erel.
Saludos
Picard


Sub ListaTablas
CMBTabla.Clear
cmd.CommandText = "SELECT name FROM sqlite_master WHERE type = 'table' ORDER BY name ASC" 'Finds all the tables in this database
Reader.Value = cmd.ExecuteReader
Do While reader.ReadNextRow = True
CMBTabla.Add(reader.GetValue(0))
Loop
Reader.Close
' Msgbox ("Leidas todas las tablas de la BD")
End Sub
 

Maki25

Member
Licensed User
Longtime User
Hola Maki.
No sé si te he entendido bien, pero te adjunto un procedimiento que uso para meter en un combobox (CMBTabla) todas las tablas de una base de datos.
Ya ves uso el Reader para leer y añadir al control el elemento leído.
No sé si es eso lo que buscas, pero espero que te dé ideas.
Me parece que lo saqué del tutorial SQL de Erel.
Saludos
Picard


Sub ListaTablas
CMBTabla.Clear
cmd.CommandText = "SELECT name FROM sqlite_master WHERE type = 'table' ORDER BY name ASC" 'Finds all the tables in this database
Reader.Value = cmd.ExecuteReader
Do While reader.ReadNextRow = True
CMBTabla.Add(reader.GetValue(0))
Loop
Reader.Close
' Msgbox ("Leidas todas las tablas de la BD")
End Sub



Graciaspor responder tan rapido.

Mi problema es que quiero sacar un valor de la base de datos y colocarlo dentro de un combobox o en un textbox.
Por ejemplo, sacar de la tabla Productos-->y de la fila Tipo-->todas las que sean bebidas y que las vaya colocando dentro de un textbox o que se vayan añadiendo en un combobox.

No se si me explico bien pero en visual basic sería algo como esto:

do

Productos.movefirst

if Productos.recordset("Tipo")="Bebida" then
text2.text=data1.recordset("ID")
text3.text=data1.recordset("Tipo")
text4.text=data1.recordset("nombre") 'etc...
combo1.additem=data1.recorset("Precio")'por ejemplo con el combobox
end if
loop until Productos.EOF=true



Si no me explico me preguntas de nuevo que yo soy muy torpe.

Un saludo
 

Maki25

Member
Licensed User
Longtime User
Hola Maki,
I can only reply in English.
Hope it helps.
Can you say what results you get from the query? What do you have in the table?
Could you post some source code so I can check?

Hi friend
thanx for you help
Sorry for my english i don't write correctly and speak bad very much:sign0013:

I would like translate to basic4ppc this aplication, now are in visual basic6. I created all forms and shows, but my problem is a sql sentences. I connect to db, with command.executetable I get into the table all information of db
, but i need get this information on the combobox or on the textbox, but i don't now.:BangHead:

this is the sentence on visual basic6

do

Productos.movefirst

if Productos.recordset("Type")="Drink" then
text2.text=data1.recordset("ID")
text3.text=data1.recordset("Type")
text4.text=data1.recordset("name") 'etc...
combo1.additem=data1.recorset("Price")&"€" 'for example with combobox
end if
Productos.Movenext
loop until Productos.EOF=true


result on visual basic6:
appears on text2=001
appears on text3= drink
appears on text4= Cola
Appears oc combo1(0)= 55€


:confused:
regards Maki
 

Ariel_Z

Active Member
Licensed User
You can try something like:
(Reader is a DataReader object, see this link: Basic4ppc SQL library reference - page 3)
B4X:
1 Sub getOrderData
2   'Start transaction
3   Connection.BeginTransaction
4   'Set parameter values
5   Command.AddParameter("Tipo")
6   Command.SetParameter("Tipop", "Bebida")
7   Command.CommandText="SELECT * FROM Productos WHERE Tipo=@Tipo"
8   'Fetch data
9   Reader.Value = Command.ExecuteReader
10   
11   'Assign data
12   Do While Reader.ReadNextRow = True
13      ComboBoxProductName.Add(Reader.GetValue(0)) ' if column #0 is name...
                 ' and ComboBoxProductName is the combobox you want to add to
14             ...

...
...

23   Loop
24   Reader.Close
25   ' End transaction
26   Connection.EndTransaction
27 End Sub

I did not test it. Check it out...
 
Last edited:

Maki25

Member
Licensed User
Longtime User
Yes!!!!! ok, running good. Thanks for you help, now understand the procedure.
Actually I thank your help Ariel Z

Maki:sign0060:
 
Top