Usuário com melhor resposta
Exibir dados em datagrid c#

Pergunta
-
Bom dia gente ,
sou novo em c# estou tentando desenvolver um sistema de venda , tenho um data grid que importa dados da tabela de produto
só que quando vou inserir o segundo produto o primeiro produto sai do grid , como se fosse uma pesquisa ... como faço para inserir os produtos um a um sem excluir o anterior ? eu uso o banco de dados oracle ...
esse é a minha string de conexão ... creio que seja algo com data reader ou dataset
public static OracleConnection AbreBanco()
{
string StringConexao = "DATA SOURCE=localhost:1521/xe;USER ID=ELIELTON;Password=160612";
try
{
OracleConnection conn = new OracleConnection(StringConexao);
conn.Open();
return conn;
}
catch (Exception ex)
{
throw ex;
}
}
public void FecharBanco(OracleConnection conn)
{
try
{
if (conn.State == ConnectionState.Open)
{ conn.Close(); }
}
catch (Exception e)
{ throw e; }
}
public DataSet RetornaDataset(string strquery)
{
OracleConnection conn;
conn = AbreBanco();
try
{
DataSet ds = new DataSet();
OracleCommand cmdComando = new OracleCommand(strquery, conn);
OracleDataAdapter da = new OracleDataAdapter(cmdComando);
cmdComando.BindByName = true;
da.Fill(ds);
return ds;
}
catch (Exception e)
{
throw e;
}
finally
{
FecharBanco(conn);
}
}
public OracleDataReader RetornaDataReader(string strquery)
{
try
{
OracleDataReader dr;
OracleCommand sqlComando = new OracleCommand(strquery, AbreBanco());
sqlComando.BindByName = true;
dr = sqlComando.ExecuteReader();
return dr;
}
catch (Exception e)
{
throw e;
}
}
public void ExecutaComando(string strquery)
{
OracleConnection conn;
conn = AbreBanco();
try
{
OracleCommand sqlComm = new OracleCommand(strquery, conn);
sqlComm.BindByName = true;
sqlComm.ExecuteNonQuery();
}
catch (Exception e)
{
throw e;
}
Respostas
-
Boa noite.
Esse método seu que retorna um DataSet, coloque um nome para a tabela do seu dataset, abaixo eu colei o seu código com a linha. Depois no seu formulário ou classe você chama esse método e popula o datagrid com o retorno dele que é um dataset:
public DataSet RetornaDataset(string strquery) { OracleConnection conn; conn = AbreBanco(); try { DataSet ds = new DataSet(); OracleCommand cmdComando = new OracleCommand(strquery, conn); OracleDataAdapter da = new OracleDataAdapter(cmdComando); cmdComando.BindByName = true; // da.Fill(ds); Coloque a linha abaixo da.Fill(ds, "NOME_TABELA_DATA_SET"); return ds; } catch (Exception e) { throw e; } finally { FecharBanco(conn); } } //Depoois no seu formulário: dataGrid.DataSource = Objeto.RetornaDataset(); dataGrid.DataMember = "NOME_TABELA_DATA_SET";
- Editado Paulo_Galego domingo, 12 de junho de 2016 23:02
- Marcado como Resposta Elelton segunda-feira, 13 de junho de 2016 11:39
Todas as Respostas
-
-
Boa noite.
Esse método seu que retorna um DataSet, coloque um nome para a tabela do seu dataset, abaixo eu colei o seu código com a linha. Depois no seu formulário ou classe você chama esse método e popula o datagrid com o retorno dele que é um dataset:
public DataSet RetornaDataset(string strquery) { OracleConnection conn; conn = AbreBanco(); try { DataSet ds = new DataSet(); OracleCommand cmdComando = new OracleCommand(strquery, conn); OracleDataAdapter da = new OracleDataAdapter(cmdComando); cmdComando.BindByName = true; // da.Fill(ds); Coloque a linha abaixo da.Fill(ds, "NOME_TABELA_DATA_SET"); return ds; } catch (Exception e) { throw e; } finally { FecharBanco(conn); } } //Depoois no seu formulário: dataGrid.DataSource = Objeto.RetornaDataset(); dataGrid.DataMember = "NOME_TABELA_DATA_SET";
- Editado Paulo_Galego domingo, 12 de junho de 2016 23:02
- Marcado como Resposta Elelton segunda-feira, 13 de junho de 2016 11:39
-
-
-