Fórum Erro no SQLDataSet #255562

22/10/2004

0

Estou tentando fazer um insert no banco usando o SQLDataSet. Quando vou dar um SQLDataSet.ExecSQL; daum erro:
Unassigned Code. Mas eu já passei o sql para a propiedade comandtext com o SQLDataSet fechado e mesmo assim continua dando esse erro. Sabem como resolvê-lo?


Foxcyber

Foxcyber

Responder

Posts

22/10/2004

Fer_nanda

Está usando Firebird? Verifique se o nome das tabelas estão com os nomes em maiúsculo.
Até.


Responder

Gostei + 0

22/10/2004

Foxcyber

Esta tudo com nome maíusculo.


Responder

Gostei + 0

22/10/2004

Fer_nanda

Vc já tentou executar a sql pelo ibexpert (iboconsole...) para ver se está rodando?


Responder

Gostei + 0

22/10/2004

Vinicius2k

Colega,

Duas situações em que eu já vi este erro :

1. Criação dos objetos do banco usando aspas duplas e referenciação dentro da aplicação sem as aspas e vice-versa.
2. Passagem de parametros para colunas SQLTimeStamp como AsDateTime...

Estas duas situações se encaixam na sua situação?

Poste-nos o bloco do código aonde vc passa a instrução para o SQLDataSet e executa...

T+


Responder

Gostei + 0

22/10/2004

Foxcyber

begin
sql:=´´;
sql:=´INSERT INTO CONTASCORRENTES ( IDCATEGORIACC, IDCONTACORRENTE, NUMCONTACC, NOMEABREVCC, DATAABERTURA, ´+
´ LIMITECHESPECIAL, IDBANCO, AGENCIA, IDESTABEL, IDSTATUS, CONTATO, DDD, FONE1, FONE2, FONE3, DESCRICAO, ´+
´ CONTACONJUNTA, TITULARPRIMEIRO, CPFTITULAR1, TITULARSEGUNDO, CPFTITULAR2, CRIADOPOR, DATACRIACAO )´+
´ VALUES ( :IDCATEGORIACC, :IDCONTACORRENTE, :NUMCONTACC, :NOMEABREVCC, :DATAABERTURA, ´+
´ :LIMITECHESPECIAL, :IDBANCO, :AGENCIA, :IDESTABEL, :IDSTATUS, :CONTATO, :DDD, :FONE1, :FONE2, :FONE3, ´+
´ :DESCRICAO, :CONTACONJUNTA, :TITULARPRIMEIRO, :CPFTITULAR1, :TITULARSEGUNDO, :CPFTITULAR2, :CRIADOPOR,´+
´ :DATACRIACAO )´;

SELF.SQLDataSetInsert.Active:=false;
SELF.SQLDataSetInsert.CommandText:=´´;
self.SQLDataSetInsert.CommandText:=sql;
self.SQLDataSetInsert.Params[0].AsInteger:=Form_ContasCorrentes.DBLookupComboBox3.KeyValue;
self.SQLDataSetInsert.Params[1].AsInteger:=STRTOINT(Form_ContasCorrentes.DBEdit1.Text);
self.SQLDataSetInsert.Params[2].AsString:=Form_ContasCorrentes.DBEdit2.Text;
self.SQLDataSetInsert.Params[3].AsString:=Form_ContasCorrentes.DBEdit3.Text;
self.SQLDataSetInsert.Params[4].AsDate:=Form_ContasCorrentes.EvDBDateEdit1.DateValue;
self.SQLDataSetInsert.Params[5].AsFloat:=Form_ContasCorrentes.EvDBNumEdit1.Value;
self.SQLDataSetInsert.Params[6].AsInteger:=Form_ContasCorrentes.DBLookupComboBox1.KeyValue;
self.SQLDataSetInsert.Params[7].AsString:=Form_ContasCorrentes.DBLookupComboBox2.KeyValue;
self.SQLDataSetInsert.Params[8].AsInteger:=Form_ContasCorrentes.DBLookupComboBox5.KeyValue;
self.SQLDataSetInsert.Params[9].AsInteger:=Form_ContasCorrentes.DBLookupComboBox4.KeyValue;
self.SQLDataSetInsert.Params[10].AsString:=Form_ContasCorrentes.DBEdit4.Text;
self.SQLDataSetInsert.Params[11].AsString:=Form_ContasCorrentes.DBEdit6.Text;
self.SQLDataSetInsert.Params[12].AsString:=Form_ContasCorrentes.DBEdit7.Text;
self.SQLDataSetInsert.Params[13].AsString:=Form_ContasCorrentes.DBEdit8.Text;
self.SQLDataSetInsert.Params[14].AsString:=Form_ContasCorrentes.DBEdit9.Text;
self.SQLDataSetInsert.Params[15].AsString:=Form_ContasCorrentes.DBEdit5.Text;
IF Form_ContasCorrentes.DBCheckBox1.Checked THEN
self.SQLDataSetInsert.Params[16].AsString:=Form_ContasCorrentes.DBCheckBox1.ValueChecked
ELSE
self.SQLDataSetInsert.Params[16].AsString:=Form_ContasCorrentes.DBCheckBox1.ValueUnchecked;
self.SQLDataSetInsert.Params[17].AsString:=Form_ContasCorrentes.DBEdit11.Text;
self.SQLDataSetInsert.Params[18].AsString:=Form_ContasCorrentes.DBEdit10.Text;
self.SQLDataSetInsert.Params[19].AsString:=Form_ContasCorrentes.DBEdit12.Text;
self.SQLDataSetInsert.Params[20].AsString:=Form_ContasCorrentes.DBEdit13.Text;
self.SQLDataSetInsert.Params[21].AsString:=Form_ContasCorrentes.DBEdit14.Text;
self.SQLDataSetInsert.Params[22].AsDateTime:=strtodatetime(Form_ContasCorrentes.DBEdit15.Text);
end;

try
tr.TransactionID:=2;
tr.IsolationLevel:=xilreadcommitted;
dtmConexao.SQLConnectionCadastros.StartTransaction(tr);
self.SQLDataSetInsert.ExecSQL ;
dtmconexao.SQLConnectionCadastros.Commit(tr);
self._CarregaContas;
result:=true;
MessageDlg(´Registro Gravado com Sucesso!!!´, mtInformation, [mbOK], 0);
except on E: Exception
do
begin
dtmconexao.SQLConnectionCadastros.Rollback(tr);
MessageDlg(´Não foi possível gravar o registro !!!´ + #13 + 13 +
E.Message , mtError, [mbOK], 0);
end;
end;


Responder

Gostei + 0

22/10/2004

Vinicius2k

Colega,

À principio seu problema me parece com os parametros 4 e 22...

Antes de atribuir valor a eles, sete o tipo de dado, e utilize a propriedade Value (variant), desta forma :

Params[4].Value:=Form_ContasCorrentes.EvDBDateEdit1.DateValue; 
...
Params[22].DataType:= ftTimeStamp; 
Params[22].Value:= StrToDateTime(Form_ContasCorrentes.DBEdit15.Text);


T+


Responder

Gostei + 0

28/08/2006

Eniorm

revivendo esse tópico....

meu projeto tava usando Firebird 1.5 com DBX e o driver UIB e estava tudo funcionando blza....

dai resolvi deixar o driver padrão da Borland e começou a apresentar esse erro UNASSIGNED CODE e problemas qdo eu tento gravar data no banco:

FieldByName(´DATA´).AsDate := DBDateEdit1.Date;

isso não acontecia antes...

por padrão, sempre escrevo os nomes de campos e tabelas em MAIUSCULO.

abraços


Responder

Gostei + 0

28/08/2006

Eniorm

...aproveitando a oportunidade.....

alguém sabe se ja tem um driver confiável para DBX trabalhar com FB2 ???

abraços


Responder

Gostei + 0

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

Aceitar