GRAVAR REGISTRO NO FIREBIRD

JUNIOR.STATUS 25/03/2013 17:52:20
#421025
ola amigos do VBMania, preciso da ajuda de vcs novamente, nao estou conseguindo gravar um registro numa tabela do FIREBIRD, segue a rotina eo erro logo abaixo:


Dim sql As Variant
sql = [Ô]SELECT MAX(CPROD) FROM INVENTARIO[Ô]
Set qryGERAL = conn.Execute(sql)
sql = [Ô]EXECUTE PROCEDURE ASS_INVENTARIO[Ô]
sql = sql + [Ô]([Ô] + W_Codigo + [Ô],[Ô]
sql = sql + W_Descricao + [Ô],[Ô]
sql = sql + W_Ean + [Ô],[Ô]
sql = sql + W_Ncm + [Ô],[Ô]
sql = sql + W_Medida + [Ô],[Ô]
sql = sql + W_Estoque + [Ô],[Ô]
sql = sql + W_Unitario + [Ô],[Ô]
sql = sql + [Ô]0[Ô] + [Ô],[Ô]
sql = sql + [Ô]Null[Ô] + [Ô],[Ô]
sql = sql + W_Total + [Ô],[Ô]
sql = sql + [Ô]0[Ô] + [Ô],[Ô]
sql = sql + [Ô]null);[Ô]

conn.Execute (sql)
conn.CommitTrans


ERRO:
run-time error: (-214721.....
dynamic sql error
sql error code = -104
token unknown - line 1, column 42
N

LLAIA 26/03/2013 14:26:06
#421071
Resposta escolhida
Será que não tá faltando aspas simples na concatenação onde é texto?
JUNIOR.STATUS 26/03/2013 15:31:24
#421073
leandro, coloquei as aspas deixei assim agora, ainda da o erro no final da mensagem.

sql = [Ô]INSERT INTO INVENTARIO VALUES ([Ô]
sql = sql + CStr(W_Codigo) + [Ô],[Ô]
sql = sql + [Ô][ô][Ô] + W_Descricao + [Ô][ô][Ô] + [Ô],[Ô]
sql = sql + CStr(W_Ean) + [Ô],[Ô]
sql = sql + CStr(W_Ncm) + [Ô],[Ô]
sql = sql + [Ô][ô][Ô] + W_Medida + [Ô][ô][Ô] + [Ô],[Ô]
sql = sql + CStr(W_Estoque) + [Ô],[Ô]
sql = sql + CStr(W_Unitario) + [Ô],[Ô]
sql = sql + [Ô]0[Ô] + [Ô],[Ô]
sql = sql + [Ô]Null[Ô] + [Ô],[Ô]
sql = sql + CStr(W_Total) + [Ô],[Ô]
sql = sql + [Ô]0[Ô] + [Ô],[Ô]
sql = sql + [Ô]null);[Ô]

conn.Execute (sql)


ERRO:- count of read-write columns does not equal count of values

LLAIA 26/03/2013 16:21:27
#421078
simples, vc está especificando mais valores do que colunas no teu insert. vai ser necessário. Especifique todas as colunas correspondentes a cada valor que vc está querendo inserir entre INVENTARIO e VALUES


                    sql = [Ô]INSERT INTO INVENTARIO (COLUNA1,COLUNA2,COLUNA3 ....)  VALUES ([Ô]
sql = sql + CStr(W_Codigo) + [Ô],[Ô]
sql = sql + [Ô][ô][Ô] + W_Descricao + [Ô][ô][Ô] + [Ô],[Ô]
sql = sql + CStr(W_Ean) + [Ô],[Ô]
sql = sql + CStr(W_Ncm) + [Ô],[Ô]
sql = sql + [Ô][ô][Ô] + W_Medida + [Ô][ô][Ô] + [Ô],[Ô]
sql = sql + CStr(W_Estoque) + [Ô],[Ô]
sql = sql + CStr(W_Unitario) + [Ô],[Ô]
sql = sql + [Ô]0[Ô] + [Ô],[Ô]
sql = sql + [Ô]Null[Ô] + [Ô],[Ô]
sql = sql + CStr(W_Total) + [Ô],[Ô]
sql = sql + [Ô]0[Ô] + [Ô],[Ô]
sql = sql + [Ô]null);[Ô]
JUNIOR.STATUS 26/03/2013 16:36:56
#421079
leandro eu mudei pra esse formato, nao deu erro mas tb nao gravou na tabela

sql = [Ô]INSERT INTO INVENTARIO (cprod, xprod, ean, ncm, und, qtd, unt,
picms, cod_part, vl_item, ind_prop, cod_cta) values (CStr(W_Codigo),[Ô]
[ô][Ô] + W_Descricao + [Ô][ô][Ô],CStr(W_Ean),CStr(W_Ncm), [Ô][ô][Ô] + W_Medida + [Ô][ô][Ô],
CStr(W_Estoque),CStr(W_Unitario),[Ô][ô]0[ô][Ô],[Ô][ô]0[ô][Ô],CStr(W_Total),[Ô][ô]0[ô][Ô],[Ô][ô]0[ô][Ô])[Ô]

JUNIOR.STATUS 26/03/2013 17:10:44
#421080
leandro tenho q usar o comando begintrans e o committrans pra isso dar certo, mas nao sei a sintaxe de como usar

JUNIOR.STATUS 27/03/2013 16:49:16
#421132
pessoallll

ninguem ai usa o firebird com vb6 ????

LLAIA 27/03/2013 17:31:33
#421135
Citação:

:
leandro tenho q usar o comando begintrans e o committrans pra isso dar certo, mas nao sei a sintaxe de como usar



é o modo correto co o Firebird, por causa do controle transacional. Vc tem que fazer assim:

objetoConnection.BeginTrans

execucao query


objetoConnection.CommitTrans
WHELLNET 01/04/2013 11:28:54
#421334
Eu fiz um programa pra ajudar nestes insert da vida. Ele me ajuda muito
AuditorSQL

Se puder me passe o conteudo da váriavel SQL (SQL= ....) para eu processar aqui

[][ô]s

André
OMAR2011 01/04/2013 12:22:28
#421339
Tanto grava no banco sem ou com
BeginTrans , CommitTrans
Private Sub Command11_Click()
Dim W_Descricao As String
Dim W_Codigo As Integer
W_Codigo = 5
W_Descricao = [Ô]Palel[Ô]
cn.BeginTrans
Dim sql As Variant
sql = [Ô]INSERT INTO Areas VALUES ([Ô]
sql = sql + CStr(W_Codigo) + [Ô],[Ô]
sql = sql + [Ô][ô][Ô] + W_Descricao + [Ô][ô][Ô] + [Ô])[Ô]

cn.Execute (sql)
cn.CommitTrans
End Sub
Um teste simples que fiz aqui.
JUNIOR.STATUS 01/04/2013 12:29:12
#421340
oi andre, a sql q fiz esta abaixo, tentei executar seu aplicativo mas da run-time error [ô]0[ô].


sql = [Ô]INSERT INTO INVENTARIO (cprod, xprod, ean, ncm, und, qtd, unt, picms, cod_part, vl_item, ind_prop, cod_cta) values (CStr(W_Codigo), W_Descricao, CStr(W_Ean),CStr(W_Ncm), W_Medida, CStr(W_Estoque), CStr(W_Unitario), [ô]0[ô], [ô]0[ô], CStr(W_Total), [ô]0[ô], [ô]0[ô],[ô]);[ô][Ô]
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas