MIGRACAO

DAVID.SP 16/12/2010 14:21:04
#359675
Olá pessoal, tudo bem?

Eu sempre usei o DBGrid em minhas aplicações mas sempre ouvi até mesmo aqui no Forum para mudar, tipo...flexgrid.
Queria ver com vocês, que tem mais experiência, qual é o melhor e se teriam algum exemplo de conexão ADO com SQL.

Obrigado
CHARLESTON10 16/12/2010 15:38:17
#359690
é muito semelhante as configuração do Flex e DBGrid mas eu uso o FlexGrid, na minha opnião bem mais facil e simples
Uso relacionado com o Objeto Data, mostrando e aplicando filtros com ele, pelo modo SQL.
DAVID.SP 16/12/2010 16:20:09
#359701
Entendi meu caro,

Mas como é feita a conexao ao SQL via Data?
DAVID.SP 16/12/2010 16:45:57
#359702
Só um detalhe.
Estou usando conexão ODBC para conectar ao SQL

Public sql As String
Public cn As New ADODB.Connection
Public rs As New ADODB.Recordset


cn.Open [Ô]Conexao_Vendas[Ô], [Ô]vendas[Ô], [Ô]vendas[Ô]

Obrigado
XXXANGELSXXX 17/12/2010 08:50:36
#359726
Amigo, veja só, o msflexgrid não tem nem comparacao com dbgrid, é um grid preparado para trabalhar 100% com ado, a forma que vc vai conectar ao sql é mais ou menos essa acima mesmo. abaixo vou enviar a conexao buscando os dados de um arquivo INI.
   
Public Conexao As ADODB.Connection
Public Function Conecta(ByVal Valor As Boolean)
On Error GoTo erroconexao
Dim SERVIDOR, USUARIO, SENHA, BASEDADOS As String
If Valor = True Then
SERVIDOR = ReadINI([Ô]Conexao[Ô], [Ô]SERVIDOR[Ô], App.Path & [Ô]\ConfigServidor.ini[Ô])
BASEDADOS = [Ô]minhabasededados[Ô]
USUARIO = ReadINI([Ô]Conexao[Ô], [Ô]USUARIO[Ô], App.Path & [Ô]\ConfigServidor.ini[Ô])
SENHA = [Ô]minhasenhadobanco[Ô]
CON_STR = [Ô]Provider=SQLOLEDB.1;Security Info=False;[Ô] _
& [Ô]Data Source=[Ô] & SERVIDOR & [Ô];[Ô] _
& [Ô]User ID=[Ô] & USUARIO & [Ô];[Ô] _
& [Ô]Password=[Ô] & SENHA & [Ô];[Ô] _
& [Ô]Initial Catalog=[Ô] & BASEDADOS & [Ô];[Ô]
With Conexao
.CursorLocation = adUseClient
.ConnectionString = CON_STR
.Open CON_STR
End With
Else
Conexao.Close
Set Conexao = Nothing
End If
erroconexao:
If Err.Number <> 0 Then
MsgBox [Ô]Erro ao conectar[Ô], vbCritical, [Ô]Mensagem[Ô]: Exit Sub
End If
End Function



isso em um modulo para chamar a conexao, no load do form coloque CONECTA TRUE

E abaixo como preencher o grid.
  
[ô]Formatação do Grid Principal
Private Sub FormataGrid()
Dim WsHeader As String
With TDBGrid1
.Clear
WsHeader = [Ô]|Código|Descrição | [Ô]
.FormatString = WsHeader
.ColWidth(3) = 0
.Rows = 1
.FixedRows = 1
.Cols = 4
.SelectionMode = 1
End With
End Sub
[ô]Preenche Grid Principal
Private Sub PreencherGridPrincipal()
Set MyRs = New ADODB.Recordset
StrSql = [Ô]select id,findescricao,finativo from cadmotivosfinalizacaoprocessos[Ô]
MyRs.Open StrSql, Conexao, adOpenStatic, adLockReadOnly
Call FormataGrid
If MyRs.RecordCount > 0 Then
With TDBGrid1
While Not MyRs.EOF
.AddItem MyRs!ID & _
Chr(9) & Format(MyRs!ID, [Ô]00000[Ô]) & _
Chr(9) & MyRs!findescricao & _
Chr(9) & MyRs!finativo
MyRs.MoveNext
Wend
.Row = 1: .Col = 0
End With
MyRs.Close
Set MyRs = Nothing
Else
TDBGrid1.Clear: TDBGrid1.Row = 0: TDBGrid1.Col = 0: Call FormataGrid
End If
End Sub

CHARLESTON10 17/12/2010 11:05:16
#359757
SQL Via data é assim

Data2.RecordSource = [Ô]SELECT * FROM venda WHERE codigo_venda LIKE[Ô] & [Ô][Ô][Ô][Ô] & [Ô]*[Ô] & txtLoc.Text & [Ô]*[Ô] & [Ô][Ô][Ô][Ô]
Data2.Refresh

Seleciona todos os campos da tabela Venda e Procura pelo Codigo_Venda de acordo com que estiver escrito no TxtLoc
Tópico encerrado , respostas não são mais permitidas