none
Função retorna byte array[] RRS feed

  • Pergunta

  • Tenho a seguinte função. Ela funciona normalmente

       Public Function showClientes() As DataTable
    
            STRSQL = "Select cli.id, concat(cli.nome,'-',cli.cpfcnpj) as cliente from clientes as cli;"
    
            Dim objCMD As MySqlCommand
    
            Try
                If CONECTAR() Then
                    objCMD = New MySqlCommand(STRSQL, myconnection)
    
                    Dim adp As MySqlDataAdapter = New MySqlDataAdapter(objCMD)
                    Dim ds As DataSet = MySqlHelper.ExecuteDataset(myconnection, STRSQL)
                    Return ds.Tables(0)
    
    
    
                Else
                    Return Nothing
                End If
    
            Catch ex As MySqlException
                Throw New Exception(ex.Message)
            Catch ex As Exception
                Throw New Exception(ex.Message)
            Finally
                DESCONECTAR()
            End Try
    
        End Function

    O problema ocorre quando na concatenação eu coloco cli.id dentro da SQL Com isso a função passa a retornar byte array[]

    concat(cli.nome,'-',cli.cpfcnpj,'-',cli.id)

    quinta-feira, 10 de julho de 2014 13:52

Respostas

  • Em uma pesquisa aqui achei um post que pede para adicionar respect binary flags=false; na string de conexão.

    Com isso funcionou, mas fiquei sem entender o motivo.

    Ja utilizei este tipo de concatenação antes e não havia dado problema.

    quinta-feira, 10 de julho de 2014 14:53
  • Seu problema está no select.

    Ao invés disso

    Select cli.id, concat(cli.nome,'-',cli.cpfcnpj) as cliente from clientes as cli;

    Tente isso

    SELECT cli.id, CONCAT(CAST(cli.id AS NVARCHAR),cli.nome,'-',cli.cpfcnpj) AS cliente FROM clientes AS cli;

    Veja se funciona.

    sexta-feira, 11 de julho de 2014 11:30

Todas as Respostas