Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   .NET (https://www.clubdelphi.com/foros/forumdisplay.php?f=17)
-   -   como leo una consulta a la base de datos (https://www.clubdelphi.com/foros/showthread.php?t=14565)

carlosmoralesm 24-09-2004 04:02:07

como leo una consulta a la base de datos
 
hago una funcion de consulta de datos a la base con select

pero como leo los datos que me regresa el query?

__hector 24-09-2004 14:39:03

Que clases estas usando para hacer la consulta??

Puedes usar la combinacion command->dataadapter->dataset, o command->datareader

Dependera de cual de los dos modelos uses

carlosmoralesm 24-09-2004 23:24:47

Gracias por ayudarme

Estoy utilizando un dataset

seria posible que por favor me dijeras de las formas dataset y datareader o
si me puedes recomendar aulgun link donde encuentre ejemplos o documentacion


Gracias Hector

atentamente: Carlos Morales

__hector 25-09-2004 20:44:17

Si usas el dataset, ya tienes los datos en el dataset, asi que no veo de donde es que no puedes leer que :confused:

Nos muestras un poco de codigo<?>

Enlaces. La ayuda de MSDN que se instalo junto a tu Visual Studio, sino msdn.microsoft.com

Lepe 25-09-2004 21:41:20

Crea una función que le pases un dataset, y averigue los campos que tiene y te lo muestre en una ventana aparte.

Para eso tambien hay herramientas, monitor de sql.... etc, pero dependerá del sistema de bases de datos que utilices.

carlosmoralesm 27-09-2004 19:54:46

con el sql buildes de web matrix hago un select pasandole el parametro de

?UserID=1

[code]
Function MyQueryMethod(ByVal userID As Integer) As System.Data.DataSet
Dim connectionString As String = "server='cyberideas'; trusted_connection=true; database='compurest'"
Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)

Dim queryString As String = "SELECT [cas].[UserID], [cas].[e-mail], [cas].[visto] FROM [cas] WHERE ([cas].[Use"& _
"rID] = @UserID)"
Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection

Dim dbParam_userID As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter
dbParam_userID.ParameterName = "@UserID"
dbParam_userID.Value = userID
dbParam_userID.DbType = System.Data.DbType.Int32
dbCommand.Parameters.Add(dbParam_userID)

Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter
dataAdapter.SelectCommand = dbCommand
Dim dataSet As System.Data.DataSet = New System.Data.DataSet
dataAdapter.Fill(dataSet)

Return dataSet
End Function
[code]

ejecuto el query

MyUpdateMethod(1)


como leo los valores de los otros campos del select

__hector 27-09-2004 22:50:47

Llamas a myQueryMethod (que veo es muy generico, pero no culpemos a webmatrix por generar todo este codigo que a mis ojos esta de mas :p) que retorna un dataset.

Para obtener los valores de dataset, el mismo tiene una coleccion de tablas. Accedes a la tabla en cuestion por su nombre o su indice en la coleccion. Para recorrer los registros de la tabla, utilizas la propiedad count de las filas que hay en la tabla, y accedes a cada campo tambien por su indice o nombre. Un ejemplo, escrito a mano (sin probarlo ni compilar) :

Código:

  DataSet miDataSet = new DataSet();
  miDataSet = nombredelafuncion(parametro);

  for(int i = 0; i < miDataSet.Tables[0].Rows.Count; i++)
  {
    Console.WriteLine(Convert.ToString(miDataSet.Tables[0].Rows[i][0]);

  // el indice i se refiere a la posicion en el recordset, o sea la fila, y el indice
  // con constante cero a la posicion de la columna.  Puedes remplazarlo con
  // Rows[indice]["nombreColumna"]
  }

Prueba y dinos que tal.

carlosmoralesm 28-09-2004 22:05:39

gracias por la ayuda voy a tratar de crear el codigo manualmente para simplificarlo y a hace unas pruabas con l forma que me indicaste

te lo agradezco Hector

Atte Carlos Morales


La franja horaria es GMT +2. Ahora son las 01:00:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi