Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 11336

Dúvidas sobre Database, Datagridview e Querys.....

$
0
0
Boa noite, Então cá vai, primeiro o código em C# para a app, e depois o SQL separado para veres como se faz. Porque eu já sei fazer, fazer mais uma vez, menos uma vez, não faz grande diferença, mas para quem está a aprender todas as tentativas, são um passo na "jornada de mil milhas". private void DataGridDoMysql() { MySql.Data.MySqlClient.MySqlConnection conn; string myConnectionString; myConnectionString = "server=127.0.0.1;uid=root;" + "pwd=12345;database=test;"; try { conn = new MySql.Data.MySqlClient.MySqlConnection(); conn.ConnectionString = myConnectionString; conn.Open(); } catch (MySql.Data.MySqlClient.MySqlException ex) { MessageBox.Show(ex.Message); } MySqlDataAdapter MyDataAdapter = new MySqlDataAdapter(); string sqlSelectAll = "Select euro2016.jogo.data as Data , euro2016.tipo_jogo.tipo_jogo as Fase , euro2016.estadio.nome as Estadio , euro2016.selecao.nome as Seleção_1, euro2016.jogo.golos_selecao_1 as Golos_1, euro2016.selecao.nome as Seleção_1 as selecao_2, euro2016.jogo.golos_selecao_2 as Golos_2 from euro2016.jogo left join euro2016.estadio on (euro2016.jogo.cod_estadio = euro2016.estadio.cod_estadio) left join euro2016.tipo_jogo on (euro2016.jogo.cod_tipo_jogo = euro2016.tipo_jogo.cod_tipo_jogo) left join euro2016.selecao on (euro2016.jogo.cod_selecao_1 = euro2016.selecao.cod_selecao)"; MyDA.SelectCommand = new MySqlCommand(sqlSelectAll, conn); DataTable table = new DataTable(); MyDataAdapter.Fill(table); BindingSource bSource = new BindingSource(); bSource.DataSource = table; dataGridView1.DataSource = bSource; //altera aos cabeçalhos da dataGrid //como na tropa e na programação o zero também é numero dataGridView1.Columns[3].HeaderText = "1ª Selecção"; dataGridView1.Columns[5].HeaderText = "2ª Selecção"; //altera a formatação da data na datagrid: dataGrid.Columns[0].DefaultCellStyle.Format = "MM/dd/yyyy HH:MM:ss"; } Update usando bindingDataSource: private void ActualizarButton_Click(object sender, System.EventArgs e) { // Actualiza a base de dados com a informação que o utilizador colocou na datagridview dataAdapter.Update((DataTable)bSource.DataSource); } SQL Select euro2016.jogo.data as Data , euro2016.tipo_jogo.tipo_jogo as Fase , euro2016.estadio.nome as Estadio , euro2016.selecao.nome as Seleção_1, euro2016.jogo.golos_selecao_1 as Golos_1, euro2016.selecao.nome as Seleção_1 as selecao_2, euro2016.jogo.golos_selecao_2 as Golos_2 from euro2016.jogo left join euro2016.estadio on (euro2016.jogo.cod_estadio = euro2016.estadio.cod_estadio) left join euro2016.tipo_jogo on (euro2016.jogo.cod_tipo_jogo = euro2016.tipo_jogo.cod_tipo_jogo) left join euro2016.selecao on (euro2016.jogo.cod_selecao_1 = euro2016.selecao.cod_selecao) Adicionar informação como estas a usar bindingdatasource, tens tudo facilitado, caso contrario acabarias tendo de escrever um insert ou um update conforme fosse o caso. E antes que me esqueça a questão dos códigos de selecção, foi de certeza distracção! Olha bem para o meu SQL e para o teu! Repara no nome dos campos! Cordiais cumprimentos, Apocsantos

Viewing all articles
Browse latest Browse all 11336

Trending Articles