• Welcome to LusoRobótica - Robótica em Português.
 
Main Menu

MySQL & C#

Started by maurosmartins, 31 de October de 2011, 16:20

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

maurosmartins

Viva pessoal,

gostaria de saber se me podiam ajudar com uma duvida que tenho.

Estou a tentar usar o MySQL num programa C# e isto até é fácil de fazer usando o "conector .NET" que eles fornecem.

O problema é que quando quero fazer um QUERY o resultado é fornecido (pelo menos nos exemplos que vi) de maneira a ser usado pelo componente datagridview.

Eu nao queria usar este componente, queria apenas usar isto como tabelas normais onde pudesse percorrer todos os resultados do QUERY.

um exemplo do que tenho até agora:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using MySql.Data;
using MySql.Data.MySqlClient;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        MySqlConnection conn;
        MySqlDataAdapter mAdapter;
        DataSet mDataSet;


        public Form1()
        {
       

            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            string connStr = "server=localhost;user=root;database=rfSTICK;port=3306;password=********;";
             conn = new MySqlConnection(connStr);
            try
            {
                dump.Text="Connecting to MySQL...";
                conn.Open();
                // Perform database operations
            }
            catch (Exception ex)
            {
                dump.Text=ex.ToString();
            }
            conn.Close();
            dump.Text="Done.";
        }





        private void button1_Click(object sender, EventArgs e)
        {
            mDataSet = new DataSet();

            //cria um adapter utilizando a instrução SQL para aceder à tabela
            mAdapter = new MySqlDataAdapter("SELECT * FROM temperaturas",conn);

            //preenche o dataset através do adapter
            mAdapter.Fill(mDataSet, "temperaturas");

            //atribui o resultado à propriedade DataSource da dataGridView
            dataGridView1.DataSource = mDataSet;
            dataGridView1.DataMember = "temperaturas";

        }






    }
}


Se alguém tiver ideia de como isso se pode fazer eu agradecia bastante, é para avisar que não percebo quase nada de C# :D

Cumps, Mauro.

engenhocas4you

Podes sar o Mysqldatareader em vez do MySqlDataAdapter, depois vais colocando os dados onde quiseres.

Cumps

maurosmartins

Olá engenhocas4you,

como disse não sei quase nada de C#, podias dar mais detalhes?

por exemplo essa tabela que tenho tem vários itens, como os separo? se puderes colocar um exemplo ficaria agradecido

Cumps, Mauro.

maurosmartins

@engenhocas4you

consegui :) obrigado pela dica se não fosse isso ainda agora andava aqui a procura.


        private void button1_Click(object sender, EventArgs e)
        {
            MySqlCommand command = conn.CreateCommand();
            command.CommandText = "SELECT * FROM temperaturas";

            MySqlDataReader reader = command.ExecuteReader();
            int rowNum = 1;
            while (reader.Read())
            {
                dump.Text=dump.Text + reader["dbID"].ToString();
                rowNum++;
            }
        }


Cumps, Mauro.