PDA

Ver la Versión Completa : como leo una consulta a la base de datos


carlosmoralesm
24-09-2004, 04:02:07
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) :


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