dbexpress driver does not support the tdbxtypes.unknown data type.Vendor error message

08/04/2017

36

Bom dia,
Estou tentando alterar alterar os dados de uma tabela, para poder inserir notas, através do update. Que antes do usuário cadastrar as notas, ele deve cadastrar o aluno, sendo assim teria que dar um update para poder inserir as notas. Segue o código.
Mas está dando o seguinte erro: "dbexpress driver does not support the tdbxtypes.unknown data type.Vendor error message", quando clico em salvar.

Estou usando o SQLQuery com o SQLConection.

CHAMANDO O METODO NO ON CLICK

procedure TForm3.BBSalvarClick(Sender: TObject);
Var
ObjInsereNota: TPessoa;
Codigo: Integer;
begin
ObjInsereNota := TPessoa.Create(SQLQuery1);
ObjInsereNota.Notas[0] := StrToFloat(EdNota1.Text);
ObjInsereNota.Notas[1] := StrToFloat(EdNota2.Text);
ObjInsereNota.Notas[2] := StrToFloat(EdNota3.Text);
ObjInsereNota.Notas[3] := StrToFloat(EdNota4.Text);

Codigo := StrToInt(EdMatricula.Text);
ObjInsereNota.InserirNotas(Codigo);
End;

MEU MOTODO NA CLASSE PARA FAZER A INSERÇÃO DA NOTA
function TPessoa.InserirNotas(vCodigo: Integer): Boolean;
begin
PQuery.Close;
PQuery.SQL.Clear;
PQuery.SQL.Add('Update Pessoa set');
PQuery.SQL.Add('Nota1 = :pNota1, Nota2 = :pNota2, Nota3 = ´:pNota3, Nota4 = :pNota4, Frequencia = :pFrenquencia');
PQuery.SQL.Add('Where Codigo = :pCodigo');

PQuery.ParamByName('pNota1').AsFloat := Notas[0];
PQuery.ParamByName('pNota2').AsFloat := Notas[1];
PQuery.ParamByName('pNota3').AsFloat := Notas[2];
PQuery.ParamByName('pNota4').AsFloat := Notas[3];
PQuery.ParamByName('pCodigo').AsInteger := vCodigo;

PQuery.ExecSQL;

Result := PQuery.RowsAffected > 0;
end;
Responder

Posts

12/04/2021

Geverson Souza

Bom dia amigo, estava com um problema parecido e resolvi da seguinte forma, cliquei sobre o componente TSQLQuery e na propriedade Params cliquei sobre essa propriedade associei os DataType de cada um conforme minha necessidade.
Tente isso.
Espero ter ajudado!
Responder
você não preencheu o parâmetro pFrequencia, por isso o driver deve estar reclamando do valor Unknown.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar