Inserção em Tabela Paradox, BDE
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
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
Curtidas 0
Respostas
Faelcavalcanti
01/11/2003
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! :^)
[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! :^)
GOSTEI 0