none
Usando DataAdapter no Mysql! RRS feed

  • Pergunta

  • Estou precisando trazer um consulta para um Datatable, eu uso sql server e faço essa consulta normal, mas agora em um projeto novo estou realizando com o Banco de dados MySql, estou usando Mysql connector, consigo realizar a conexao com o banco, só que quando eu tento trazer a consulta para datatable atravez do dataadapter os dados não aparecem, quando eu verifico o que tem na tabela só aparece chamada do Mysql, meu codigo está assim.


    Dim sqlconexao As MySqlConnection

     
    Dim comando As New MySqlCommand


    Dim carregador As New MySqlDataAdapter


    Dim tabela As New DataTable


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

     sqlconexao =
    New MySqlConnection

    sqlconexao.ConnectionString =
    "server=localhost; User Id=root; Password=senha; DataBase=Exemplo"

    comando.CommandText =


    "SELECT * FROM NOTICIA"

    sqlconexao.Open()

    carregador.SelectCommand = comando

    carregador.Fill(tabela)

     Label1.Text = tabela.Rows(0)(


    "TITULO_NOTICIA")

    sqlconexao.Close()

    End Sub

    Alguem sabe por que ?
    desde já agradeço!


    sábado, 26 de novembro de 2011 22:36

Respostas

  • Talvez porque falta você dizer ao DataAdapter qual é o objeto Connect.

    Adapte para sua necessidade:

     

            SqlConnection sqlconn = new SqlConnection(strConexao);
            SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM CATEGORIA ORDER BY NOME", sqlconn);
            DataTable dt = new DataTable();
    
            da.Fill(dt);
    

    Neste caso usei para Sql Server.. vocÊ vai continuar usando para mysql.Um detalhe que vi no seu código é que você precisa apenas de um Campo. Pode usar um MySqlDataReader e o método ExecuteEscalar para isto.

     


    --
    Marque as respostas e ajude a melhorar a busca do fórum.

    domingo, 27 de novembro de 2011 12:27
  • Já resolvi o problema, eu precisava do datatable por que eu ia precisar de varias linhas, que ai só coloquei o codigo antes de fazer as outras chamadas, problema que no MySql vc precisa criar uma variavel tipo string para comando e depois passa-lá para comanndText e falar que o comandtype e um texto. mesmo assim obrigado!
    domingo, 27 de novembro de 2011 17:57

Todas as Respostas

  • Talvez porque falta você dizer ao DataAdapter qual é o objeto Connect.

    Adapte para sua necessidade:

     

            SqlConnection sqlconn = new SqlConnection(strConexao);
            SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM CATEGORIA ORDER BY NOME", sqlconn);
            DataTable dt = new DataTable();
    
            da.Fill(dt);
    

    Neste caso usei para Sql Server.. vocÊ vai continuar usando para mysql.Um detalhe que vi no seu código é que você precisa apenas de um Campo. Pode usar um MySqlDataReader e o método ExecuteEscalar para isto.

     


    --
    Marque as respostas e ajude a melhorar a busca do fórum.

    domingo, 27 de novembro de 2011 12:27
  • Já resolvi o problema, eu precisava do datatable por que eu ia precisar de varias linhas, que ai só coloquei o codigo antes de fazer as outras chamadas, problema que no MySql vc precisa criar uma variavel tipo string para comando e depois passa-lá para comanndText e falar que o comandtype e um texto. mesmo assim obrigado!
    domingo, 27 de novembro de 2011 17:57