|
|
|
|
|
Dicas
|
|
Visual Basic (Banco de Dados)
|
|
|
Título da Dica: Utilizando Banco de Dados MySQL com VB 6.0
|
|
|
|
Postada em 14/3/2002 por Edvaldo
cpd@sindan.com.br
Foi criado uma banco de dados em MySQL chamado Cadastro e uma Tabla chamada Nome, para um pequeno cadastro de endereço.
Dim cn As New ADODB.Connection Dim cmd As New ADODB.Command Dim rs As New ADODB.Recordset Dim Registro As Integer
Private Sub Command1_Click() Dim nome As String Dim endereco As String Dim bairro As String Dim cidade As String Dim estado As String nome = "'" & Text1.Text & "'" endereco = IIf(Len(Text2.Text) > 0, "'" & Text2.Text & "'", "'*'") bairro = IIf(Len(Text3.Text) > 0, "'" & Text3.Text & "'", "'*'") cidade = IIf(Len(Text4.Text) > 0, "'" & Text4.Text & "'", "'*'") estado = IIf(Len(Combo1.Text) > 0, "'" & Combo1.Text & "'", "'*'") If Command1.Caption = "Gravar" Then sql = "insert into nome (nome,endereco,bairro,cidade,estado) values (" & nome & "," & endereco & "," & bairro & "," & cidade & "," & estado & ")" Else sql = "update nome set " sql = sql & "nome = " & nome sql = sql & " ,endereco = " & endereco sql = sql & " ,bairro = " & bairro sql = sql & " ,cidade = " & cidade sql = sql & " ,estado = " & estado sql = sql & " where codigo = " & Registro End If
rs.Open sql Call LimpaCampos
End Sub
Private Sub Command2_Click() msg = MsgBox("Confirma a exclusão", vbYesNo, Me.Caption) If msg = vbYes Then sql = "delete from nome where codigo=" & Registro rs.Open sql Call LimpaCampos End If End Sub
Private Sub Command3_Click() Call LimpaCampos End Sub
Private Sub Form_Activate() Me.Top = 0 Me.Left = 0 Me.Height = 4680 Me.Width = 6510 Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 4 Set con = New ADODB.Connection con.ConnectionString = "driver={MySQL},server=producao,uid=usuario,pwd=senha,database=cadastro)" con.Open "producao", "usuario", "senha" Set rs = New ADODB.Recordset rs.ActiveConnection = con Call LimpaCampos End Sub
Sub LimpaCampos() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Command1.Caption = "Gravar" Command2.Caption = "Excluir" Command3.Caption = "Limpar" Command1.Enabled = False Command2.Enabled = False Command3.Enabled = False MSFlexGrid1.Enabled = True Call EstadosBrasil Call ListaNomes Text1.SetFocus End Sub
Sub EstadosBrasil() estado = Array("SP", "AC", "AL", "AM", "BA", "CE", "DF", "ES", "GO", "MA", "MT", "MS", "MG", "PA", "PR", "PE", "PI", "RJ", "RN", "RS", "RO", "RR", "SC", "SE", "TO") Combo1.Clear For x = 0 To 24 Combo1.AddItem estado(x) Next x End Sub
Private Sub Form_Resize() With MSFlexGrid1 .FixedCols = 0 .Width = Me.ScaleWidth - 200 .ColWidth(0) = .Width / 1.2 .ColWidth(1) = .Width / 10 .Col = 0 .Row = 0 .Text = "Nome" .Col = 1 .Text = "Código" End With End Sub
Sub ListaNomes() sql = "Select * from nome order by nome" rs.Open sql linha = 1 If rs.RecordCount + 2 > 0 Then Do Until rs.EOF With MSFlexGrid1 .Rows = linha + 1 .Row = linha .Col = 0 .Text = rs!nome .Col = 1 .Text = rs!codigo linha = linha + 1 End With rs.MoveNext Loop rs.Close MSFlexGrid1.Visible = True Else MSFlexGrid1.Visible = False End If End Sub
Private Sub MSFlexGrid1_Click() MSFlexGrid1.Col = 1 Registro = MSFlexGrid1.Text sql = "Select * from nome where codigo = " & Registro & " order by nome" rs.Open sql Text1.Text = rs!nome Text2.Text = IIf(rs!endereco <> "*", rs!endereco, "") Text3.Text = IIf(rs!bairro <> "*", rs!bairro, "") Text4.Text = IIf(rs!cidade <> "*", rs!cidade, "") Combo1.Text = IIf(rs!estado <> "*", rs!estado, "") Command1.Caption = "Atualizar" Command2.Enabled = True MSFlexGrid1.Enabled = False rs.Close Text1.SetFocus End Sub
Private Sub Text1_Change() If Len(Text1.Text) > 0 Then Command1.Enabled = True Command2.Enabled = False Command3.Enabled = True MSFlexGrid1.Enabled = False Else Command1.Enabled = False Command2.Enabled = False Command3.Enabled = False MSFlexGrid1.Enabled = True End If End Sub
|
|
|
|
|