Fórum Inserção em Tabela Paradox, BDE #192130

01/11/2003

0

Oi,

Estou inserindo uns dados em uma tabela do Paradox através do BDE. Porém, quando eu o faço através de comandos SQL, ele insere apenas uma linha vazia, a única coisa que ele realmente insere é a chave primária. O código que utilizei foi:

Query1.Params.Clear;
Query1.SQL.Clear;
aux := ´INSERT INTO Quadro VALUES ((SELECT Max(Cod_Quadro)+1 FROM Quadro),:tema,:alt,:larg,:valor,:foto)´;
Query1.SQL.Add(aux);
Query1.Params.ParamByName(´tema´).AsString := Tema.Text;
Query1.Params.ParamByName(´alt´).AsSmallInt := StrToInt(Altura.Text);
Query1.Params.ParamByName(´larg´).AsSmallInt := StrToInt(Largura.Text);
Query1.Params.ParamByName(´valor´).AsCurrency := StrToCurr(Valor.Text);
Query1.Params.ParamByName(´foto´).AsString := Path+PathFoto+ExtractFileName(Foto.Text);
Query1.Close;
if not Query1.Prepared Then
Query1.Prepare;
Query1.ExecSQL;

A tabela foi definida assim:
[b:6ea29cf746]Quadro[/b:6ea29cf746] (Nome da tabela)
Cod_Quadro - LongInt (Chave primaria)
Tema - String
Dimensao_A - SmallInt
Dimensao_L - SmallInt
Valor - Money
Foto - String

Gostaria de saber o que estou fazendo de errado.
Agradeço desde já ajuda,

Mitsuo


Mitsuo_takaki

Mitsuo_takaki

Responder

Posts

01/11/2003

Faelcavalcanti

Rapaz, quanto à sua SQL tá muito louca cara, ou realmente não entendi a síntese do seu problema. :?:

[list:901e99199f]aux := ´INSERT INTO Quadro VALUES ((SELECT Max(Cod_Quadro)+1 FROM Quadro),:tema,:alt,:larg,:valor,:foto)´; [/list:u:901e99199f]

Acho que de certa forma seu problema seria resolvido com a query desta forma::

aux := ´INSERT INTO Quadro (tema, alt, larg, valor, foto) VALUES (:tema, :alt, :larg, :valor, :foto)´;

Outra coisa, uma sugestão quanto à sequência do seu código.
(1). Sempre que puder feche a query antes de usá-la
(2). Caso utilize parâmetros e estaja dentro de uma laço, recomendo que limpe os buffers da query.
(3). Após adicionar o conteúdo SQL dentro de uma Query, utilize o método Prepared para atualizar sua Query reconhecendo assim seus parâmetros definidos assim como os seus tipos referentes à mesma.

Espero ter ajudado! :^)


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar