Ir ao conteúdo
  • Cadastre-se

drakylucas

Membro Júnior
  • Posts

    18
  • Cadastrado em

  • Última visita

Reputação

0
  1. consegui de outra maneira, apenas instanciei tipo DBConnect db = new DBConnect(); return db.ExecuteQuery("select * from academias;"); e funcionou, mas agora estou com outra duvida, tipo eu estou tentando programar em camadas, por isso ta me complicando, é pra aprender apenas.. pode me ajudar nessa duvida? http://forum.clubedohardware.com.br/forums/topic/1094105-duvida-fun%C3%A7%C3%B5es-dentro-de-classes-que-alteram-dados-de-um-form/ obrigado.
  2. então galera, seguinte, estou tentando fazer mais ou menos isso: estou programando em camadas (view/entity/business/dao), na camada DAO eu fiz uma função de pegar dados e colocar em uma datatable, na camada business eu quero uma função que preencha um datagridview com essa tabela encontrada. eu fiz assim: public void atualizarAcademias() { dgvAcademias.Rows.Clear(); DBAcess.DBAcademias classAcademias = new DBAcess.DBAcademias(); DataTable dt = classAcademias.selecionarAcademias(); for (int i = 0; i < dt.Rows.Count; i++) { dgvAcademias.Rows.Add(); for (int j = 0; j < 3; j++) { dgvAcademias.Rows[i].Cells[j].Value = dt.Select()[i][j]; } } dgvAcademias.ClearSelection(); } isso, quando está dentro do proprio formulario na camada View, funciona bem, porém quando está na camada business, ele nao encontra o meu datagrid (dgvAcademias), e se eu criar uma instancia com o meu form, ele nao atualizará aquele form e sim o novo criado da instancia. minha duvida: como altero dados de um formulario já previamente aberto com uma função em uma classe que não se encontra no formulario? obrigado.
  3. Bom dia pessoal, estou com uma duvida, criei uma classe chamada DBAcess, e dentro dessa classe fiz os métodos para inserir e receber dados do meu banco mysql, como segue abaixo: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Data;using MySql.Data.MySqlClient;using System.Windows.Forms;using System.Diagnostics;using System.IO;namespace GestaoDeTorneios.DBAcess{ public class DBConnect { private MySqlConnection connection; private string server; private string database; private string uid; private string password; //Constructor public DBConnect() { Initialize(); } //Initialize values public void Initialize() { server = "localhost"; database = "gerenciadortorneios"; uid = "root"; password = "1234"; string connectionString; connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";"; connection = new MySqlConnection(connectionString); } //open connection to database public bool OpenConnection() { try { connection.Open(); return true; } catch (MySqlException ex) { //When handling errors, you can your application's response based //on the error number. //The two most common error numbers when connecting are as follows: //0: Cannot connect to server. //1045: Invalid user name and/or password. switch (ex.Number) { case 0: MessageBox.Show("Cannot connect to server. Contact administrator"); break; case 1045: MessageBox.Show("Invalid username/password, please try again"); break; } return false; } } //Close connection public bool CloseConnection() { try { connection.Close(); return true; } catch (MySqlException ex) { MessageBox.Show(ex.Message); return false; } } public void ExecuteNonQuery(String query) { //Open connection if (this.OpenConnection() == true) { //create mysql command MySqlCommand cmd = new MySqlCommand(); //Assign the query using CommandText cmd.CommandText = query; //Assign the connection using Connection cmd.Connection = connection; //Execute query cmd.ExecuteNonQuery(); //close connection this.CloseConnection(); } } public DataTable ExecuteQuery(string query) { if (this.OpenConnection() == true) { DataTable dt = new DataTable(); try { MySqlCommand cmd = new MySqlCommand(query, connection); MySqlDataAdapter da; da = new MySqlDataAdapter(cmd); // da.Fill(dt); this.CloseConnection(); return dt; } catch (MySqlException ex) { throw new ApplicationException(ex.ToString()); } finally { this.CloseConnection(); } } else { return new DataTable(); } } }} depois disso, criei outra classe chamada DBAcademias, e estou tentando utilizar a função ExecuteQuery da classe DBAcess dentro da classe DBAcademias mas estou tendo problemas. 1º ele nao acha a função ExecuteQuery quando digito ela, 2º se eu mudo pra "public static DataTable", ele acha a função no DBAcademias porém buga no DBAcess (os this nao funcionam mais e nao sei o que fazer para arruma-los) DBAcademias: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Data;using MySql.Data.MySqlClient;using System.Windows.Forms;using System.Diagnostics;using System.IO;using GestaoDeTorneios.DBAcess;namespace GestaoDeTorneios.DBAcess{ public class DBAcademias { public DataTable selecionarAcademias() { return DBConnect.ExecuteQuery("select * from academias;"); } }} alguem pode me dar umas instruções? obrigado

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!