O QUE DEVO RETORNAR NESTA FUNCAO???
Prezados colegas,
é uma situação simples:
VB.NET
Criei um método(Função) em uma classe que pesquisa os pedidos de um cliente no meu Banco de dados.Esta
função retorna um DataSet,que uso para exibir num Datagrid.
Public Function Pesquisar ( ByVal Cliente As String) As Dataset
Try
[ô]------------------------------------
[ô]Aqui o código que pesquisa o cliente
[ô]------------------------------------
[ô]Retorna valor
Return Ds1
Catch Ex Exception
End Try
End Function
Minha duvida é a seguinte:
Digamos que meu código que pesquisa os pedidos do cliente
não encontre nada, neste caso meu Dataset não terá nada
que retornar.Quando criamos uma função que retorna valor Boleano
é fácil, pois se a função consegue,retornamos True, se não retornamos
False.Mas,em casos como este em que o que se retorna é um Dataset,
o que devemos fazer a função retornar, se ela não consegue executar
sua finalidade???
é uma situação simples:
VB.NET
Criei um método(Função) em uma classe que pesquisa os pedidos de um cliente no meu Banco de dados.Esta
função retorna um DataSet,que uso para exibir num Datagrid.
Public Function Pesquisar ( ByVal Cliente As String) As Dataset
Try
[ô]------------------------------------
[ô]Aqui o código que pesquisa o cliente
[ô]------------------------------------
[ô]Retorna valor
Return Ds1
Catch Ex Exception
End Try
End Function
Minha duvida é a seguinte:
Digamos que meu código que pesquisa os pedidos do cliente
não encontre nada, neste caso meu Dataset não terá nada
que retornar.Quando criamos uma função que retorna valor Boleano
é fácil, pois se a função consegue,retornamos True, se não retornamos
False.Mas,em casos como este em que o que se retorna é um Dataset,
o que devemos fazer a função retornar, se ela não consegue executar
sua finalidade???
Verifique a quantidade de ROWS que foram retornados pelo DATATABLE do DATASET.
Exemplo:
Exemplo:
Dim i As Integer = MinhaClasse.MeuMetodo().Tables(0).Rows.Count
If i > 0 Then FaçaAlgo()
Se código do TECLA não funcionar, tente colocar EOF
[txt-color=#0000f0]If Not[/txt-color] DataSet.EOF [txt-color=#0000f0]Then[/txt-color]
[txt-color=#007100][ô]Código caso tenha dados[/txt-color]
[txt-color=#0000f0]Else[/txt-color]
[txt-color=#007100][ô]Caso não tenha dados[/txt-color]
[txt-color=#0000f0]End If[/txt-color]
Tente o código do TECLA primeiro.
Valeu.
[txt-color=#0000f0]If Not[/txt-color] DataSet.EOF [txt-color=#0000f0]Then[/txt-color]
[txt-color=#007100][ô]Código caso tenha dados[/txt-color]
[txt-color=#0000f0]Else[/txt-color]
[txt-color=#007100][ô]Caso não tenha dados[/txt-color]
[txt-color=#0000f0]End If[/txt-color]
Tente o código do TECLA primeiro.
Valeu.
Várias situações
E depende de como a sua função trata o dataset instanciado.
Veja abaixo um exemplo de função que retorna um dataset(com ou sem dados)
Ou vc pode passar o seu DataSet como parametro e preencher ele dentro da função. Testa ae pois eu nem testei aqui.
E depende de como a sua função trata o dataset instanciado.
Veja abaixo um exemplo de função que retorna um dataset(com ou sem dados)
Public Function MySqlToDataSet(ByVal strQuery As String, _
Optional ByVal strTable As String = [Ô][Ô]) As DataSet
Try
System.Windows.Forms.Cursor.Current = New System.Windows.Forms.Cursor(sqlcur)
If IsNothing(Conexao) Then
conectado = False
Conexao = Con()
End If
Dim objCommand = New MySqlCommand(strQuery, Conexao)
Dim objDataSet As New DataSet
Dim objSqlDataAdapter As MySqlDataAdapter = New MySqlDataAdapter(objCommand)
If strTable = [Ô][Ô] Then _
objSqlDataAdapter.Fill(objDataSet) _
Else objSqlDataAdapter.Fill(objDataSet, strTable)
objCommand = Nothing
System.Windows.Forms.Cursor.Current = Cursors.Default
Return objDataSet
Catch ex As MySqlException
[ô]tratamento de erros
End Try
End Function
Ou vc pode passar o seu DataSet como parametro e preencher ele dentro da função. Testa ae pois eu nem testei aqui.
Public Function Pesquisar ( ByVal Cliente As String, ByVal seuDataset as DataSet) as Boolean
Try
seuDataSet = new DataSet
[ô] Preencha seuDataSet com os dados da pesquisa
[ô]------------------------------------
RETURN TRUE
Catch Ex Exception
RETURN FALSE
End Try
End Function
Tópico encerrado , respostas não são mais permitidas