private void CB_project_MouseClick(object sender, MouseEventArgs e) { if (CB_project.Items.Count > 0) { return; } Expert dbExpert = new Expert(null); Project dbProject = new Project(); string email = this.CB_email.Text; string linkTB = "`projeto_especialista`"; string filter = DBEntity.getJoinFilter(email, Expert.ST.ST_EMAIL, dbExpert, dbProject, linkTB); dbProject.setFilter(filter); this.access.dbProjects = (List <DBEntity>)dbProject.getDataSource(); int nProj = this.access.dbProjects.Count; CB_project.Items.Clear(); for (int i = 0; i < nProj; i++) { if (((Project)this.access.dbProjects[i]).name != "NULL") { CB_project.Items.Add(((Project)this.access.dbProjects[i]).name); } } }
private void CB_email_MouseClick(object sender, MouseEventArgs e) { if (CB_email.Items.Count > 0) { return; } Project project = new Project(); DBEntity dbExpert = new Expert(null); string projName = this.CB_project.Text; string linkTB = "`projeto_especialista`"; string filter = DBEntity.getJoinFilter(projName, Project.ST.ST_NAME, project, dbExpert, linkTB); dbExpert.setFilter(filter); this.access.dbExperts = dbExpert.getDataSource(); int nExperts = this.access.dbExperts.Count; CB_email.Items.Clear(); for (int i = 0; i < nExperts; i++) { if (((Expert)this.access.dbExperts[i]).id != 0) { CB_email.Items.Add(((Expert)this.access.dbExperts[i]).email); } } }
public List<DBEntity> getDataSource() { MySqlDataReader reader; CtrlConexao conexao = CtrlConexao.Instancia; List<DBEntity> listDBEntity = new List<DBEntity>(); string filter = null; //StringBuilder strIndexAlternativas = new StringBuilder (); //Hashtable hashIndiceDB = new Hashtable (); String query = "SELECT "; try { //conexao.AbreConexaoMysql(); //int m = this.nColumns - 1; //for (int i = 0; i < m; i++) //query += DBEntity.ST.DB_NAME + this.ST_TB_NAME + "." + this.columnNames[i] + ", "; //query += DBEntity.ST.DB_NAME + this.ST_TB_NAME + "." + this.columnNames[m]; //query += " FROM " + DBEntity.ST.DB_NAME + this.ST_TB_NAME; //query += this.getFilter(); conexao.AbreConexaoMysql(); int m = this.nColumns - 1; for (int i = 0; i < m; i++) query += this.columnNames[i] + ", "; query += this.columnNames[m]; query += " FROM " + this.ST_TB_NAME; //query += this.getFilter(); reader = conexao.ExecutaSelecaoMysql(query); while (reader.Read()) { DBEntity dbe = this.getDBEntity(reader); listDBEntity.Add(dbe); } reader.Close(); } catch (Exception exc) { MessageBox.Show(exc.StackTrace + "\n\n" + exc.Message); } //catch(Exception e){ // throw new Exception (">> Erro em reader.Read: \n"+e.StackTrace+"\n provavelmente na query: \n"+query); //} finally { conexao.FecharConexaoMysql(); } return listDBEntity; }
public List<DBEntity> getDataSource(string selectFilter) { MySqlDataReader reader; CtrlConexao conexao = CtrlConexao.Instancia; List<DBEntity> listDBEntity = new List<DBEntity>(); string filter = null; //StringBuilder strIndexAlternativas = new StringBuilder (); //Hashtable hashIndiceDB = new Hashtable (); String query = selectFilter; try { conexao.AbreConexaoMysql(); query += this.getFilter(); reader = conexao.ExecutaSelecaoMysql(query); while (reader.Read()) { DBEntity dbe = this.getDBEntity(reader); listDBEntity.Add(dbe); } reader.Close(); } catch (Exception exc) { MessageBox.Show(exc.StackTrace + "\n\n" + exc.Message); } //catch(Exception e){ // throw new Exception (">> Erro em reader.Read: \n"+e.StackTrace+"\n provavelmente na query: \n"+query); //} finally { conexao.FecharConexaoMysql(); } return listDBEntity; }
public static string getJoinFilter (string basicFilter, string columnName, DBEntity toBase, DBEntity toSelect, string linkTable) { string filter = ""; if(basicFilter!="") { filter = " INNER JOIN "+DBEntity.ST.DB_NAME+linkTable; filter += " ON "+ DBEntity.ST.DB_NAME + toSelect.ST_TB_NAME + "." +toSelect.ST_ID + " = "; filter += DBEntity.ST.DB_NAME + linkTable+"." + toSelect.ST_ID; filter += " INNER JOIN " + DBEntity.ST.DB_NAME + toBase.ST_TB_NAME; filter += " ON "+ DBEntity.ST.DB_NAME + toBase.ST_TB_NAME + "." +toBase.ST_ID + " = "; filter += DBEntity.ST.DB_NAME + linkTable+"." + toBase.ST_ID; filter += " AND "+ DBEntity.ST.DB_NAME + toBase.ST_TB_NAME + "." +columnName + " = '" + basicFilter+"'"; } //public static string getJoinFilter (string basicFilter, string columnName, DBEntity toBase, DBEntity toSelect, string linkTable) { //string filter = ""; //if(basicFilter!="") { // filter = " INNER JOIN "+DBEntity.ST.DB_NAME+linkTable+ this.ST_TB_NAME; // filter += " ON "+ DBEntity.ST.DB_NAME + toSelect.ST_TB_NAME + "." +toSelect.ST_ID + " = "; // filter += DBEntity.ST.DB_NAME + linkTable+"." + toSelect.ST_ID+ ST_TB_NAME; // filter += " INNER JOIN " + DBEntity.ST.DB_NAME + toBase.ST_TB_NAME; // filter += " ON "+ DBEntity.ST.DB_NAME + toBase.ST_TB_NAME + "." +toBase.ST_ID + " = "; // filter += " AND " + DBEntity.ST.DB_NAME + linkTable+"." + toBase.ST_ID ; // filter += " AND "+ DBEntity.ST.DB_NAME + toBase.ST_TB_NAME + "." +columnName + " = '" + basicFilter+"'"; // } return filter; }
public void loadDBEntity(DBEntity entity) { List <DBEntity> dbEntities = entity.getDataSource(); }