Visual Basic.NET - Una busqueda

   
Vista:

Una busqueda

Publicado por Miguel (56 intervenciones) el 09/09/2015 18:16:49
Tengo una función para búsquedas. Tiene dos opciones de búsqueda. La primera busca nombres de municipios y la segunda código postales. Ambos campos están declarados en la BD como string. Igualmente al pasarlos como parámetros también están como string y una vez dentro de la función se tratan como string. Tengo una Select para dicha búsqueda y cuando busco textos del municipio función correctamente sin embargo cuando busco como texto con los valores del código postal me da un error.

Este es el código
consulta = "SELECT * FROM " & miTabla & " WHERE " & nomCampo & " like '" & Trim(valCampo) & "%'"
da = New OleDb.OleDbDataAdapter(consulta, cn)
ds = New DataSet
da.Fill(ds, "" & miTabla & "")
Me.DataGridView1.DataSource = ds
Me.DataGridView1.DataMember = miTabla
lista = CByte(ds.Tables("" & miTabla & "").Rows.Count) ' En esta linea da el error

lista tenía que retornar el numero de registro que cumplen la condición pero da el error.
Error : "la operación aritmética a provocado un desbordamiento".

Gracias y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de giancarlo

Una busqueda

Publicado por giancarlo giangbd5@hotmail.com (280 intervenciones) el 09/09/2015 19:52:08
El error se debe a la funcion CByte, convierte un valor u objeto al tipo byte, por lo que entendi, e sparecido al boolean (https://msdn.microsoft.com/es-es/library/e2ayt412.aspx)

Cambialo por cint que lo convertira a entero, incluso si posteriormente tendras un numero de varios millones(creo 15 o 15 000) cambiarias por float o double
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar