VB2008 FIREBIRD
Verdade nua e crua...!!
Mas, por teimosia, gostaria de tentar pelo meio que acredito aprender....
Mas, por teimosia, gostaria de tentar pelo meio que acredito aprender....
Citação::
Verdade nua e crua...!!
Mas, por teimosia, gostaria de tentar pelo meio que acredito aprender....
No site do macoratti tem tudo o que vc precisa. Mas, terá que ler tudo, desde os tópicos de +/- 2002
Mas, como eu disse... vc tem que colocar o foco no vb.net para compreender as mudanças.
Camarada uso o vbnet 2008 com firebird sem problemas
1 conexão vc sabe fazer ?
2 já sabe como incluir registro ? com formatação de datas e valores
3 Já sabe como alterar e excluir registro ?
4 Já sabe como exibir dados em grids e combobox ?
5 Já sabe como formatar datas e valores ?
6 já sabe como executar selects
dicas
1 conexão
a)vc tem que ter instaldo o firebird na maquina e tambem o firebirdClient
b)Adicione a referencia a FirebirdSql.Data.FirebirdClient da pasta c:\Firebird\FirebirdCliente\FirebirdSql.Data.FirebirdClient.dll
c) crie um modulo e declares as variaveis
Public FCnn As FbConnection = New FbConnection
Public Fcmd1 As FbCommand - Executa comando Insert,Update,Delete
Public FR1 As FbDataReader - Para leitura de dados provenientes de selects
Public Conectado As Boolean = False
Sub ConexaoFB()
Try
FCnn = New FbConnection([Ô]User=SYSDBA;Password=masterkey;Database=C:\SuperSys\Dados\Dados.FDB;DataSource=localhost;Dialect=3;[Ô])
FCnn.Open()
Conectado = True
Catch
Conectado = False
End Try
End Sub
como c ja'deve saber o vbnet tem um tratamento diferente do vb6, embora possa ser aplicadas em ambas plataformas, mas no vb6 é comum abrir o Bco na abertura do sistema e fechar o bco no fechamento do sistema.
no vbnet pode ser usar abertura e fechamento a cada operação com o Bco ou na abertura e fechamento de telas.
para abrir a conexão em qualquer parte
If Conectado = False Then
Call ConexaoFB()
End If
If Conectado = True Then
Preenc()
BuscaNumero()
End If
para fechar a conexão
FCnn.Close()
FCnn.Dispose()
2 Incluir registros
Dim sql As String
sql = [Ô]Insert Into TBCLIENTES(RAZAO_SOCIAL)Values([ô][Ô] & Me.txtcliente.Text & [Ô][ô],[ô][Ô] & Me.txtFantasia.Text & [Ô][ô])[Ô]
fcmd2 = New FbCommand(sql, FCnn)
fcmd2.ExecuteNonQuery()
Para Update basta trocar o Insert por Update
Formatação de datas para exibir na tela ou em grids
Data=CDate(Date.Now).ToString([Ô]MM/dd/yyyy[Ô]) [ô] isso na inclusão de datas
Str(CDbl(Me.txtlimite.Text)) [ô] isso na inclusão de datas
FormatDateTime(FR1([Ô]DataNascimento[Ô]).ToString, DateFormat.ShortDate)[ô] mostrar em tela
FormatNumber(FR1([Ô]LimiteCredito[Ô]).ToString, 2)[ô]mostra em tela
Mostrar dados em grid , coloque um componente BindingSource no formulario e um datagridview
qdo usar o componente bindig coloque isso da seção general do form --->>Private dtg As New DataTable
se usar + de um binding source basta duplicar dtg1,2 etc...
dtg.Clear()
dtg.Dispose()
Dim da As New FbDataAdapter([Ô]Select ID,RAZAO_SOCIAL From tbClientes[Ô], FCnn)
da.Fill(dtg)
dtg.DefaultView.Sort = [Ô]RAZAO_SOCIAL[Ô]
BindingSource1.DataSource = dtg
DataGridView1.DataSource = BindingSource1
DataGridView1.Columns(0).HeaderText = [Ô]CÓDIGO[Ô]
DataGridView1.Columns(0).Width = 60
Me.DataGridView1.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
DataGridView1.Columns(1).HeaderText = [Ô]CLIENTE[Ô]
DataGridView1.Columns(1).Width = 505
Me.DataGridView1.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
With DataGridView1
Me.DataGridView1.AllowUserToAddRows = False
Me.DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Beige
Me.DataGridView1.BackgroundColor = Me.BackColor
Me.DataGridView1.RowHeadersWidth = 20
End With
Para passar os dados de um data gridView para campos do formulário( evento doubleClick do Grid)
Me.txtcliente.Text = DataGridView1.SelectedCells(1).Value.ToString
Fazer consulta ao banco de dados
Dim fcmd1 As New FbCommand
fcmd1.Connection = FCnn
fcmd1.CommandText = [Ô]Select * tblclientes Where ID[Ô] & IDE
FR1 = fcmd1.ExecuteReader
If FR1.Read Then
txtcodigo.Text = IDE
Me.txtFantasia.Text = FR1([Ô]Fantasia[Ô]).ToString
end if
Fr1.close
Fr1.dispose
Preencher combox
Dim ds As DataSet = New DataSet()
Dim da As New FbDataAdapter([Ô]Select COD_MUN,MUNICIPIO From TBCIDADESIBGE Where UF=[ô][Ô] & Me.cboUF.Text & [Ô][ô][Ô], FCnn)
ds.Clear()
ds.Dispose()
Me.cboCidade.Text = [Ô][Ô]
da.Fill(ds, [Ô]TBCIDADEIBGE[Ô])
Dim dv As DataView = ds.Tables([Ô]TBCIDADEIBGE[Ô]).DefaultView
dv.Sort = [Ô]MUNICIPIO[Ô]
cboCidade.DataSource = dv
cboCidade.DisplayMember = [Ô]MUNICIPIO[Ô]
cboCidade.ValueMember = [Ô]COD_MUN[Ô]
cboCidade.SelectedIndex = -1
Mensagens
MessageBox.Show([Ô]Cliente alterado com sucesso[Ô], [Ô]Aviso do sistema[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Dica
no vb6 para tratar erros usavamos on Error Goto
no vbnet se usa como abaixo
Try
Aqui vai o codigo ou função
Catch
Aqui se ocorrer erros, pode-se colocar uma mensagem, vc pode ter varios catch um por tipo de erro, exibir numero de linha, formulário do erro etc..........................Procure na net sobre Catch para + informações
End Try
No vb6 para selecionar o conteudo de um campo
campo.selstart=0
campo.sellenght=len(campo)
vbnet
Me.txtFantasia.SelectAll()
para verificar o conteudo de um texto vb6
if campo=[Ô][Ô] or isnull(campo then
vbnet
if campo.text = [Ô][Ô]
Evento Key press dos campos para mudar com enter ou não deixar digitar certas teclas
só digitar valores
If Char.IsLetter(e.KeyChar) And Not e.KeyChar = vbBack And Not e.KeyChar = [Ô].[Ô] And Not e.KeyChar = [Ô],[Ô] Then
e.Handled = True
End If
digitar só letras
If Not Char.IsLetter(e.KeyChar) And Not e.KeyChar = vbBack Then
e.Handled = True
End If
tecla enter para mudar de campo
If e.KeyCode = Keys.Enter Then
SendKeys.Send([Ô]{Tab}[Ô])
End If
vc pode colocar em cada campo ou somente no evento keydown do form e alterando a propriedade KeyPreview para true que funciona para todos os campos sem precisar colocar em cada campo
com estas dicas vc já pode trabalhar com vbnet e firebird, espero que ajude
1 conexão vc sabe fazer ?
2 já sabe como incluir registro ? com formatação de datas e valores
3 Já sabe como alterar e excluir registro ?
4 Já sabe como exibir dados em grids e combobox ?
5 Já sabe como formatar datas e valores ?
6 já sabe como executar selects
dicas
1 conexão
a)vc tem que ter instaldo o firebird na maquina e tambem o firebirdClient
b)Adicione a referencia a FirebirdSql.Data.FirebirdClient da pasta c:\Firebird\FirebirdCliente\FirebirdSql.Data.FirebirdClient.dll
c) crie um modulo e declares as variaveis
Public FCnn As FbConnection = New FbConnection
Public Fcmd1 As FbCommand - Executa comando Insert,Update,Delete
Public FR1 As FbDataReader - Para leitura de dados provenientes de selects
Public Conectado As Boolean = False
Sub ConexaoFB()
Try
FCnn = New FbConnection([Ô]User=SYSDBA;Password=masterkey;Database=C:\SuperSys\Dados\Dados.FDB;DataSource=localhost;Dialect=3;[Ô])
FCnn.Open()
Conectado = True
Catch
Conectado = False
End Try
End Sub
como c ja'deve saber o vbnet tem um tratamento diferente do vb6, embora possa ser aplicadas em ambas plataformas, mas no vb6 é comum abrir o Bco na abertura do sistema e fechar o bco no fechamento do sistema.
no vbnet pode ser usar abertura e fechamento a cada operação com o Bco ou na abertura e fechamento de telas.
para abrir a conexão em qualquer parte
If Conectado = False Then
Call ConexaoFB()
End If
If Conectado = True Then
Preenc()
BuscaNumero()
End If
para fechar a conexão
FCnn.Close()
FCnn.Dispose()
2 Incluir registros
Dim sql As String
sql = [Ô]Insert Into TBCLIENTES(RAZAO_SOCIAL)Values([ô][Ô] & Me.txtcliente.Text & [Ô][ô],[ô][Ô] & Me.txtFantasia.Text & [Ô][ô])[Ô]
fcmd2 = New FbCommand(sql, FCnn)
fcmd2.ExecuteNonQuery()
Para Update basta trocar o Insert por Update
Formatação de datas para exibir na tela ou em grids
Data=CDate(Date.Now).ToString([Ô]MM/dd/yyyy[Ô]) [ô] isso na inclusão de datas
Str(CDbl(Me.txtlimite.Text)) [ô] isso na inclusão de datas
FormatDateTime(FR1([Ô]DataNascimento[Ô]).ToString, DateFormat.ShortDate)[ô] mostrar em tela
FormatNumber(FR1([Ô]LimiteCredito[Ô]).ToString, 2)[ô]mostra em tela
Mostrar dados em grid , coloque um componente BindingSource no formulario e um datagridview
qdo usar o componente bindig coloque isso da seção general do form --->>Private dtg As New DataTable
se usar + de um binding source basta duplicar dtg1,2 etc...
dtg.Clear()
dtg.Dispose()
Dim da As New FbDataAdapter([Ô]Select ID,RAZAO_SOCIAL From tbClientes[Ô], FCnn)
da.Fill(dtg)
dtg.DefaultView.Sort = [Ô]RAZAO_SOCIAL[Ô]
BindingSource1.DataSource = dtg
DataGridView1.DataSource = BindingSource1
DataGridView1.Columns(0).HeaderText = [Ô]CÓDIGO[Ô]
DataGridView1.Columns(0).Width = 60
Me.DataGridView1.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
DataGridView1.Columns(1).HeaderText = [Ô]CLIENTE[Ô]
DataGridView1.Columns(1).Width = 505
Me.DataGridView1.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
With DataGridView1
Me.DataGridView1.AllowUserToAddRows = False
Me.DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Beige
Me.DataGridView1.BackgroundColor = Me.BackColor
Me.DataGridView1.RowHeadersWidth = 20
End With
Para passar os dados de um data gridView para campos do formulário( evento doubleClick do Grid)
Me.txtcliente.Text = DataGridView1.SelectedCells(1).Value.ToString
Fazer consulta ao banco de dados
Dim fcmd1 As New FbCommand
fcmd1.Connection = FCnn
fcmd1.CommandText = [Ô]Select * tblclientes Where ID[Ô] & IDE
FR1 = fcmd1.ExecuteReader
If FR1.Read Then
txtcodigo.Text = IDE
Me.txtFantasia.Text = FR1([Ô]Fantasia[Ô]).ToString
end if
Fr1.close
Fr1.dispose
Preencher combox
Dim ds As DataSet = New DataSet()
Dim da As New FbDataAdapter([Ô]Select COD_MUN,MUNICIPIO From TBCIDADESIBGE Where UF=[ô][Ô] & Me.cboUF.Text & [Ô][ô][Ô], FCnn)
ds.Clear()
ds.Dispose()
Me.cboCidade.Text = [Ô][Ô]
da.Fill(ds, [Ô]TBCIDADEIBGE[Ô])
Dim dv As DataView = ds.Tables([Ô]TBCIDADEIBGE[Ô]).DefaultView
dv.Sort = [Ô]MUNICIPIO[Ô]
cboCidade.DataSource = dv
cboCidade.DisplayMember = [Ô]MUNICIPIO[Ô]
cboCidade.ValueMember = [Ô]COD_MUN[Ô]
cboCidade.SelectedIndex = -1
Mensagens
MessageBox.Show([Ô]Cliente alterado com sucesso[Ô], [Ô]Aviso do sistema[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Dica
no vb6 para tratar erros usavamos on Error Goto
no vbnet se usa como abaixo
Try
Aqui vai o codigo ou função
Catch
Aqui se ocorrer erros, pode-se colocar uma mensagem, vc pode ter varios catch um por tipo de erro, exibir numero de linha, formulário do erro etc..........................Procure na net sobre Catch para + informações
End Try
No vb6 para selecionar o conteudo de um campo
campo.selstart=0
campo.sellenght=len(campo)
vbnet
Me.txtFantasia.SelectAll()
para verificar o conteudo de um texto vb6
if campo=[Ô][Ô] or isnull(campo then
vbnet
if campo.text = [Ô][Ô]
Evento Key press dos campos para mudar com enter ou não deixar digitar certas teclas
só digitar valores
If Char.IsLetter(e.KeyChar) And Not e.KeyChar = vbBack And Not e.KeyChar = [Ô].[Ô] And Not e.KeyChar = [Ô],[Ô] Then
e.Handled = True
End If
digitar só letras
If Not Char.IsLetter(e.KeyChar) And Not e.KeyChar = vbBack Then
e.Handled = True
End If
tecla enter para mudar de campo
If e.KeyCode = Keys.Enter Then
SendKeys.Send([Ô]{Tab}[Ô])
End If
vc pode colocar em cada campo ou somente no evento keydown do form e alterando a propriedade KeyPreview para true que funciona para todos os campos sem precisar colocar em cada campo
com estas dicas vc já pode trabalhar com vbnet e firebird, espero que ajude
Galera agradeço todos vocês...
Podem deixar que irei adicionar (quem passou) no msn
e por sinal... me add tb!
adrianomarquez1@bol.com.br
obrigadooo!!!
Podem deixar que irei adicionar (quem passou) no msn
e por sinal... me add tb!
adrianomarquez1@bol.com.br
obrigadooo!!!
Tópico encerrado , respostas não são mais permitidas