USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Insert Listview Firebird e Vb6
Omar
MONTES CLAROS
MG - BRASIL
ENUNCIADA !
Postada em 19/11/2008 18:55 hs            
Tem como fazer um Insert ou Update em uma tabela usando o firebird com
vb6.Ja tentei com algumas dicas mas não deu certo.
De uma luz.
Omar
   
ADRIANO2605
CAMPO GRANDE
MS - BRASIL
ENUNCIADA !
Postada em 20/11/2008 09:51 hs            
Kra posta ai o seu código pra gente dar uma olhada!
e a conexão tambem
   
Omar
MONTES CLAROS
MG - BRASIL
ENUNCIADA !
Postada em 20/11/2008 20:32 hs            
Option Explicit
Public Db As ADODB.Connection
Public rs As ADODB.Recordset
 
Sub AbreBanco()
Set rs = New ADODB.Recordset
Set Db = New ADODB.Connection
Db.Open "Provider=Ibole.provider.v4;Data Source=" & App.Path & "DELICIA.FDB", "sysdba", "masterkey"
 Set rs.ActiveConnection = Db
End Sub
Private Sub Command1_Click()
Dim sql As String
Dim i As Integer
For i = 1 To Lv.ListItems.Count
sql = "INSERT INTO TEST (IDCOD,NOME) VALUES ('" & Lv.ListItems(i) & "','" & Lv.ListItems(i).SubItems(1) & "');"
 Next
Db.Execute (sql)
End Sub
Preencho o listview com qualquer dados de outra tabela,só para testar o insert.Mas quando grava;
somente o último registro feito na consulta para preencher o listview.
   
Diego Junio
não registrado
ENUNCIADA !
Postada em 28/07/2009 23:22 hs   
O problema está na execução do comando SQL.

Veja abaixo:

For i = 1 To Lv.ListItems.Count
sql = "INSERT INTO TEST (IDCOD,NOME) VALUES ('" & Lv.ListItems(i) & "','" & Lv.ListItems(i).SubItems(1) & "');"

Db.Execute (sql) <<< O Db.Execute deve ficar antes do Next, senão os registros que são lidos na instrução "For" não serão gravados.

Next

do jeito que você está colocando, o comando Db.Execute ignora todos os registros da ListView e pega apenas o ultimo que sobrou da instrução For.

Espero ter ajudado, grande abraço!!!
   
Ash Katchup
CAXIAS DO SUL
RS - BRASIL
Postada em 29/07/2009 08:44 hs            
Completando o comentário do Diego:

Você tem que executar a SQL a cada loop do for. Exemplo:

Private Sub Command1_Click()
    Dim sql As String
    Dim i As Integer
    '
    For i = 1 To Lv.ListItems.Count
        sql = "INSERT BLA BLA BLA"
        Db.Execute (sql)
    Next
    '    
End Sub

__________________

"It is the way of men to make monsters...and it is the nature of
monsters to destroy their makers."

-F.E.A.R. (First Encounter Assault Recon )
     
Edvaldo
não registrado
Postada em 10/09/2009 17:28 hs   
Ola tem alguem ai ainda?
Quando eu faso ese codigo que vcs descreveram acima da que Lv nao esta declarado!
Algem pd me socorre?
     
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página