O QUE H? DE ERRADO

DUMMIES 19/06/2014 14:58:42
#439032
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
TUNUSAT 19/06/2014 16:13:55
#439037
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.
DUMMIES 19/06/2014 16:47:48
#439039
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.
TUNUSAT 19/06/2014 20:00:09
#439042
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.
FILMAN 19/06/2014 20:17:06
#439044
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
NILSONTRES 20/06/2014 00:20:15
#439046
Resposta escolhida
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.
DUMMIES 20/06/2014 20:31:33
#439065
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.
TUNUSAT 20/06/2014 22:08:22
#439067
DUMMIES,

Serve este?

http://www.connectionstrings.com/informix/

[][ô]s,
Tunusat.
DUMMIES 21/06/2014 13:06:29
#439070
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.


DUMMIES 26/06/2014 18:45:39
#439211
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.


Tópico encerrado , respostas não são mais permitidas