Cita:
Iniciado por Aquaventus
está bien declarado ya que no me diste completo tu código, lo que estoy viendo es que en tu funcion de sql devuelves una lista de datos, y en lo que haces en el VB es ejecutarlo como ExecuteNonQuery(Que solo sirve para hacer insert,update o modify) ya que esto no devuelve nada, solo 1 o -1 para ver si se realizó o no. para retonar una lista es con ExecuteDataSet, averigua mas ese tema xq me temo que te estas confundiendo. Saludos!

.
Bien ahora modifique mi función y quedo asi:
Código vb:
Ver original#Region "Función Buscar"
Public Function buscar(ByVal ObjCategoriaEN As CategoriaEN)
Dim reader As NpgsqlDataReader
Dim categoria As New CategoriaEN
Try
conn.Close()
conn.Open()
comando.CommandType=CommandType.StoredProcedure
comando.CommandText="like_cat"
Dim _nom_cat As New NpgsqlParameter("_nom_cat",NpgsqlTypes.NpgsqlDbType.Varchar)
_nom_cat.Value=ObjcategoriaEN.gnom_cat
_nom_cat.Direction=ParameterDirection.Input
comando.Parameters.Add(_nom_cat)
reader=comando.ExecuteReader
While reader.Read
categoria.gidcat=reader(0)
categoria.gnom_cat=reader(1)
categoria.gdesc_cat=reader(2)
End While
Return categoria
Catch ex as Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, ex.Source)
Finally
conn.Close()
conn.ClearAllPools
End Try
End Function
#End Region
utilizo npgsqldatareader