O QUE H? DE ERRADO
Olá pessoal.
No código abaixo a intensão seria popular um grid porém não apresenta nenhum erro, e não popula o grid, pelo contrário, até parece que limpa a linha em branco que aparece nele quando é iniciado.
Fiz vários testes para ver se o sql estava correto e está, existem vérios registros na tabela e até já fim um while para ver se ele encontrava esses registros e está Ok e ele faz o while para todos normalmente, porém não popula o grid.
Andei pesquisando e a princÃpio os exemplos que vi estão iguais ou bem parecidos com o meu.
Se alguém puder me ajudar nessa eu fico grato.
[ô]Linguagem: VB.NET
[ô]Visual Studio 2012.
Dim Sql As String
Dim rst As New ADODB.Recordset
Sql = [Ô]Provider=MSDASQL.1;Password=xxxxx;Persist Security Info=True;User ID=admin;Data Source=CONEC[Ô]
CN = New ADODB.Connection
CN.ConnectionString = Sql
CN.CursorLocation = ADODB.CursorLocationEnum.adUseClient
CN.Open()
Sql = [Ô]select * from sef_grupo order by 1,2,3,4[Ô]
rst = New ADODB.Recordset
rst.Open(Sql, CN, ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockReadOnly, 1)
If Not rst.EOF Then
GridGrupos.DataSource = rst
GridGrupos.Refresh()
End If
No código abaixo a intensão seria popular um grid porém não apresenta nenhum erro, e não popula o grid, pelo contrário, até parece que limpa a linha em branco que aparece nele quando é iniciado.
Fiz vários testes para ver se o sql estava correto e está, existem vérios registros na tabela e até já fim um while para ver se ele encontrava esses registros e está Ok e ele faz o while para todos normalmente, porém não popula o grid.
Andei pesquisando e a princÃpio os exemplos que vi estão iguais ou bem parecidos com o meu.
Se alguém puder me ajudar nessa eu fico grato.
[ô]Linguagem: VB.NET
[ô]Visual Studio 2012.
Dim Sql As String
Dim rst As New ADODB.Recordset
Sql = [Ô]Provider=MSDASQL.1;Password=xxxxx;Persist Security Info=True;User ID=admin;Data Source=CONEC[Ô]
CN = New ADODB.Connection
CN.ConnectionString = Sql
CN.CursorLocation = ADODB.CursorLocationEnum.adUseClient
CN.Open()
Sql = [Ô]select * from sef_grupo order by 1,2,3,4[Ô]
rst = New ADODB.Recordset
rst.Open(Sql, CN, ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockReadOnly, 1)
If Not rst.EOF Then
GridGrupos.DataSource = rst
GridGrupos.Refresh()
End If
Olá DUMMIES,
Uma dúvida.
Você está usando o DataSource, certo?
Então precisa obrigatoriamente também colocar dentro da grid as colunas respectivas as campos da tabela, ou tem com não fazer isto?!?
Caso você não tenha configurado isto...
1º) Clique na grade;
2º) Dentro da propriedades procure [Ô]Columns[Ô] (Collection) ou na seta no canto superior direito da grade e depois clique em [Ô]Edit Columns[Ô].
3º) Adicione todas as colunas que aparecerão ou não aparecerão na grid, mas que o banco de dados retorna na consulta (recordset).
4º) Dentro de cada coluna veja as propriedades:
- DataPropertyName: é mesmo nome do campo no Banco de Dados;
- HeaderText: Nome que aparecerá na Grade ... pode ser qualquer um;
- Visible: Se você não quiser que ela apareça para o usuário;
- Bom ... dá uma olhada nas outras propriedades também;
5º) Veja se funciona;
Se não der certo posso tentar montar um modelo aqui.
[][ô]s,
Tunusat.
Uma dúvida.
Você está usando o DataSource, certo?
Então precisa obrigatoriamente também colocar dentro da grid as colunas respectivas as campos da tabela, ou tem com não fazer isto?!?
Caso você não tenha configurado isto...
1º) Clique na grade;
2º) Dentro da propriedades procure [Ô]Columns[Ô] (Collection) ou na seta no canto superior direito da grade e depois clique em [Ô]Edit Columns[Ô].
3º) Adicione todas as colunas que aparecerão ou não aparecerão na grid, mas que o banco de dados retorna na consulta (recordset).
4º) Dentro de cada coluna veja as propriedades:
- DataPropertyName: é mesmo nome do campo no Banco de Dados;
- HeaderText: Nome que aparecerá na Grade ... pode ser qualquer um;
- Visible: Se você não quiser que ela apareça para o usuário;
- Bom ... dá uma olhada nas outras propriedades também;
5º) Veja se funciona;
Se não der certo posso tentar montar um modelo aqui.
[][ô]s,
Tunusat.
Tunusat, obrigado pelo retorno.
Eu não havia colocado o nome das colunas na propriedade DataPropertyName conforme sua orientação.
Mesmo assim o sistema continua com o mesmo comportamento.
Em relação ao [Ô]DataSource[Ô] correto não entendi muito bem o que você quiz dizer.
Outras ações com minha conexão dão certo, Insert, Update, Consulta, então acredito que as referencias estão OK.
Apenas popular o grid é que não está OK.
Eu não havia colocado o nome das colunas na propriedade DataPropertyName conforme sua orientação.
Mesmo assim o sistema continua com o mesmo comportamento.
Em relação ao [Ô]DataSource[Ô] correto não entendi muito bem o que você quiz dizer.
Outras ações com minha conexão dão certo, Insert, Update, Consulta, então acredito que as referencias estão OK.
Apenas popular o grid é que não está OK.
DUMMIES,
No caso da [Ô]DataSource[Ô] quer dizer que a grid se conecta diretamente com uma [Ô]recordset[Ô] de dados.
Achei um exemplo que NÃO usa [Ô]DataPropertyName[Ô].
Mas, você precisa ter o SQL Express instalado na máquina e / ou Northwind. Se você não tiver, precisa reconfigurar esta parte.
Dê uma olhada. Está anexo.
DATAGRIDVIEW CARREGANDO COM PROGRESSBAR.zip
[][ô]s,
Tunusat.
No caso da [Ô]DataSource[Ô] quer dizer que a grid se conecta diretamente com uma [Ô]recordset[Ô] de dados.
Achei um exemplo que NÃO usa [Ô]DataPropertyName[Ô].
Mas, você precisa ter o SQL Express instalado na máquina e / ou Northwind. Se você não tiver, precisa reconfigurar esta parte.
Dê uma olhada. Está anexo.
DATAGRIDVIEW CARREGANDO COM PROGRESSBAR.zip
[][ô]s,
Tunusat.
Cara não me retorno de cabeça, mas creio que o método correto é GridGrupos.DataBind() e não GridGrupos.Refresh()
Posso estar enganado, mas faz um teste ai
Posso estar enganado, mas faz um teste ai
NA MINHA HUMILDE OPINIÃO, DUAS COISAS NÃO RECOMENDADAS.
1º VB.NET SEM UTILIZAR ADO.NET.
2º PREENCHER GRID COM DATASOURCE, EMBORA MUITOS ACREDITAM A MELHOR OPÇÃO, MAS NUNCA ME CONVENCI DISSO, VC PERDE MUITO DAS UTILIDADES DE UM GRID E O DIFERENÇA DE DESEMPENHO é IMPERCEPTÃVEL, MESMO EM GRANDES QUANTIDADES DE DADOS.
DESCULPE O CAIXA ALTA, SÓ PERCEBI DEPOIS.
1º VB.NET SEM UTILIZAR ADO.NET.
2º PREENCHER GRID COM DATASOURCE, EMBORA MUITOS ACREDITAM A MELHOR OPÇÃO, MAS NUNCA ME CONVENCI DISSO, VC PERDE MUITO DAS UTILIDADES DE UM GRID E O DIFERENÇA DE DESEMPENHO é IMPERCEPTÃVEL, MESMO EM GRANDES QUANTIDADES DE DADOS.
DESCULPE O CAIXA ALTA, SÓ PERCEBI DEPOIS.
Pessoal.
Decidi ir para o ado.net.
Meu problema agora é encontrar o Connector para Informix, pois nesse projeto preciso conectar um banco de dados Informix.
EU já havia procurado antes e como não encontrei acabei optando por usar a conexão ADODB.
Valeu.
Decidi ir para o ado.net.
Meu problema agora é encontrar o Connector para Informix, pois nesse projeto preciso conectar um banco de dados Informix.
EU já havia procurado antes e como não encontrei acabei optando por usar a conexão ADODB.
Valeu.
DUMMIES,
Serve este?
http://www.connectionstrings.com/informix/
[][ô]s,
Tunusat.
Serve este?
http://www.connectionstrings.com/informix/
[][ô]s,
Tunusat.
Tunusat.
Obrigado pela dica, mas apenas a string não seve.
Preciso do driver connector do informix para fazer o import.
Da mesma forma que é feito para o Sql Server ou para o Banco de dados MySql.
No caso do SqlServer é nativo no Visual Studio já para MySql é preciso baixar o MySql Connector .Net, esse é bem fácil de encontrar lá no site do MySql.
Já no caso do Informix....durezzz, não consegui encontrar ainda.
Mesmo assim obrigado.
Obrigado pela dica, mas apenas a string não seve.
Preciso do driver connector do informix para fazer o import.
Da mesma forma que é feito para o Sql Server ou para o Banco de dados MySql.
No caso do SqlServer é nativo no Visual Studio já para MySql é preciso baixar o MySql Connector .Net, esse é bem fácil de encontrar lá no site do MySql.
Já no caso do Informix....durezzz, não consegui encontrar ainda.
Mesmo assim obrigado.
Galera obrigado pela força, vou encerrar esse tópico.
Se alguém trabalha com banco de dados Informix por favor entre em contato comigo.
Se alguém trabalha com banco de dados Informix por favor entre em contato comigo.
Tópico encerrado , respostas não são mais permitidas