ALTERAR INFORMACAO DOS REGISTROS FIREBIRD
Galera como posso fazer alguma alteração em registro do firebird via vb.
tenho essa conecção:
Dim cn As New ADODB.Connection
Dim rs1 As New Recordset
Dim oConn As ADODB.Connection
Dim oCmd As ADODB.Command
Dim oRS As ADODB.Recordset
Dim sulod As New Recordset
sulod.Open [Ô]select * from estoque[Ô], cn, adOpenDynamic, adLockOptimistic
sulod.EditMode
sulod.Fields([Ô]descricao[Ô]).Value = t1
sulod.Fields([Ô]fornecedor[Ô]).Value = T2
sulod.Fields([Ô]preco[Ô]).Value = T6
sulod.Fields([Ô]custocompr[Ô]).Value = t7
sulod.Fields([Ô]customedio[Ô]).Value = t7
sulod.Fields([Ô]qtd_atual[Ô]).Value = T3
sulod.Update
mas não funciona tem outro metodo?
obrigado.
tenho essa conecção:
Dim cn As New ADODB.Connection
Dim rs1 As New Recordset
Dim oConn As ADODB.Connection
Dim oCmd As ADODB.Command
Dim oRS As ADODB.Recordset
Dim sulod As New Recordset
sulod.Open [Ô]select * from estoque[Ô], cn, adOpenDynamic, adLockOptimistic
sulod.EditMode
sulod.Fields([Ô]descricao[Ô]).Value = t1
sulod.Fields([Ô]fornecedor[Ô]).Value = T2
sulod.Fields([Ô]preco[Ô]).Value = T6
sulod.Fields([Ô]custocompr[Ô]).Value = t7
sulod.Fields([Ô]customedio[Ô]).Value = t7
sulod.Fields([Ô]qtd_atual[Ô]).Value = T3
sulod.Update
mas não funciona tem outro metodo?
obrigado.
Sim.
Acrescente os demais campos na cláusula SET separados por vÃrgula.
cn.Execute [Ô]UPDATE estoque SET descricao=[ô][Ô] & t1 & [Ô][ô] WHERE codigo=[Ô] & codProduto
MsgBox [Ô]Estoque atualizado![Ô], , [Ô]Estoque[Ô]
Acrescente os demais campos na cláusula SET separados por vÃrgula.
tecla ficaria assim
cn.Execute [Ô]UPDATE estoque SET descricao=[ô][Ô] & t1 & [Ô][ô] WHERE fornecedor=[Ô] & T2 & [Ô][ô] WHERE custocompr=[Ô] & t7 & [Ô][ô] WHERE qtd_atual=[Ô] & t3
ele da erro:
dynamic sql error
sql error code=-104
unexpected end of command - line, column 30
cn.Execute [Ô]UPDATE estoque SET descricao=[ô][Ô] & t1 & [Ô][ô] WHERE fornecedor=[Ô] & T2 & [Ô][ô] WHERE custocompr=[Ô] & t7 & [Ô][ô] WHERE qtd_atual=[Ô] & t3
ele da erro:
dynamic sql error
sql error code=-104
unexpected end of command - line, column 30
O Tecla explicou certinho, faltou vc colocar os dados no SET corretamente.
O Código é o Codigo do teu registro.
Arrume os [Ô]T[Ô] das tuas variáveis.
Se vc for passar mais de um parametro no WHERE, este deverá ser seguido por AND ou OR:
Pesquise no google sobre [Ô]UPDATE (SQL Statement)[Ô]
http://www.google.com.br/search?q=UPDATE+%28SQL+Statement%29&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:pt-BR:official&client=firefox-a
cn.execute [Ô]UPDATE TABELA SET descricao = [Ô] & t1 & [Ô] , fornecedor = [Ô] & t1 & [Ô] , preco = [Ô] & t1 & [Ô], custocompr = [Ô] & t1 & [Ô], customedio = [Ô] & t1 & [Ô], qtd_atual = [Ô] & t1 & [Ô] WHERE Codigo_Do_Item = [Ô] & Codigo
O Código é o Codigo do teu registro.
Arrume os [Ô]T[Ô] das tuas variáveis.
Se vc for passar mais de um parametro no WHERE, este deverá ser seguido por AND ou OR:
UPDATE { table_name | view_name }
SET { column_name = expression } [ ,...n ]
[ FROM { table_name | view_name } [ ,...n ] ]
[ WHERE < search_condition > ]
Pesquise no google sobre [Ô]UPDATE (SQL Statement)[Ô]
http://www.google.com.br/search?q=UPDATE+%28SQL+Statement%29&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:pt-BR:official&client=firefox-a
opa
tecla funcionou mas ele faz alteração em todo o banco de dados ex: c tiver 10 registro ele altera nos 10
vc sabe o porque?
obrigado
tecla funcionou mas ele faz alteração em todo o banco de dados ex: c tiver 10 registro ele altera nos 10
vc sabe o porque?
obrigado
Sei, na verdade você não especificou o campo CHAVE na cláusula WHERE.
Veja um exemplo abaixo:
Cod | Descricao | Valor
10 | Produto 10 | R$ 10,00
20 | Produto 20 | R$ 20,00
30 | Produto 30 | R$ 30,00
Para alterar o valor do PRODUTO 10, você utiliza o campo COD para que o UPDATE não seja feito em TODOS OS REGISTROS.
Exemplo:
O resultado seria:
Cod | Descricao | Valor
10 | Produto 10 | R$ 100,00
20 | Produto 20 | R$ 20,00
30 | Produto 30 | R$ 30,00
Ficou mais claro agora?
Se sim, é só aplicar o exemplo acima no seu caso.
Veja um exemplo abaixo:
Cod | Descricao | Valor
10 | Produto 10 | R$ 10,00
20 | Produto 20 | R$ 20,00
30 | Produto 30 | R$ 30,00
Para alterar o valor do PRODUTO 10, você utiliza o campo COD para que o UPDATE não seja feito em TODOS OS REGISTROS.
Exemplo:
UPDATE produto SET valor=100.00 WHERE cod=10
O resultado seria:
Cod | Descricao | Valor
10 | Produto 10 | R$ 100,00
20 | Produto 20 | R$ 20,00
30 | Produto 30 | R$ 30,00
Ficou mais claro agora?
Se sim, é só aplicar o exemplo acima no seu caso.
Citação:[Ô][ô] WHERE codigo=[Ô] & codProduto
Está também no Código do Tecla... passe o código do item do teu produto, assim vc restringe o produto/item que quer alterar.
Claro, se a chave não for única, vai atualizar todos com a mesma chave.
valeu galera deu certo
Tópico encerrado , respostas não são mais permitidas