Fórum num key automático #347457

17/10/2007

0

Criei um arq. no IBExpert com cod automatico, agora quando compilo o Delphy me dá um erro de conversão para string ´1´, o que estou fazendo de errado?


Smpferr

Smpferr

Responder

Posts

17/10/2007

Marco Salles

qual a linha que esta o erro ???
qual o componente de acesso ???
qual a base de dados ????
Acho que as pessoas irão precisar de mais detalhes ???


Responder

Gostei + 0

17/10/2007

Smpferr

Quando compilo dá esse erro:

Project prjConsultorio.exe raised exception class EOleException with message ´Dynamic SQL Error SQL error code = -303 conversion error from string ´1´ Incompatible column/host variable data type Error Code:249´. Process stopped. Use Step or Run to continue.

Quando eu clico no botão OK ele volta para a linha onde está escrito Application.Run; no programa do prjConsultorio

eu fiz seguindo passo a passo o curso do Luciano, Client/Server até chegar no primeiro cadastro. A única diferença que tem é que o meu cadastro tem 3 campos
codprocedimento - integer - notnull - autoincrem
descricao - varchar - 30 - notnull
valor - numeric - 7,2

Obrigada pela ajuda pois é minha primeira tentativa no Delphy


Responder

Gostei + 0

17/10/2007

Marco Salles

voce tem algum parametro definido nesta Sql ????
Como voce definiu esses parametros ???


Responder

Gostei + 0

17/10/2007

Smpferr

Defini no IBExpert (criei as tabelas)
as
begin
if (new.codprocedimento is null) then
new.codprocedimento = gen_id(gen_procedimento_id,1);
end

é isso que vc quer saber?

obrigada pelo esforço de me ajudar e tentar entender o que fiz.


Responder

Gostei + 0

17/10/2007

Paulo

Sem parte dos códigos onde está o erro, fica difícil ajudar, mas parece que você está tentando converte uma String em outro tipo que não aceita o formato, ex:
Tenho essa string:´0.1´ se eu der um cast para Float, eu converto, mas se for para integer, vai dar erro de conversão. Agora se você postar os códigos onde o erro está acontecendo, aí fica mais fácil, e de repente nem é isso o que eu falei, mas só vendo. Posta aí...


Responder

Gostei + 0

17/10/2007

Smpferr

unit uProcedimento;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uBase, DB, ImgList, ActnList, StdCtrls, Buttons, Mask, DBCtrls;

type
TfrmProcedimento = class(TfrmBase)
Label1: TLabel;
dbcodprocedimento: TDBEdit;
Label2: TLabel;
dbDescricao: TDBEdit;
Label3: TLabel;
dbTempoPrevisto: TDBEdit;
private
{ Private declarations }
public
{ Public declarations }
end;

var
frmProcedimento: TfrmProcedimento;

implementation

uses uDM;

{$R *.dfm}

end.

unit uDM;

interface

uses
SysUtils, Classes, DBXpress, DB, SqlExpr, FMTBcd, DBClient, Provider;

type
TDM = class(TDataModule)
Conexao: TSQLConnection;
sdtSenha: TSQLDataSet;
sdtSenhaSENHADENTISTA: TIntegerField;
sdtSenhaAPELIDO: TStringField;
dspSenha: TDataSetProvider;
cdsSenha: TClientDataSet;
sdtProcedimento: TSQLDataSet;
sdtDentista: TSQLDataSet;
sdtPaciente: TSQLDataSet;
dspProcedimento: TDataSetProvider;
sdtProcedimentoCODPROCEDIMENTO: TIntegerField;
sdtProcedimentoDESCRICAO: TStringField;
sdtProcedimentoTEMPOPREVISTO: TTimeField;
sdtDentistaCODDENTISTA: TIntegerField;
sdtDentistaNOMEDENTISTA: TStringField;
sdtDentistaVALORHORA: TBCDField;
sdtPacienteCODPACIENTE: TIntegerField;
sdtPacienteNOMEPACIENTE: TStringField;
sdtPacienteVALORTRATAMENTO: TBCDField;
dspDentista: TDataSetProvider;
dspPaciente: TDataSetProvider;
cdsProcedimento: TClientDataSet;
cdsDentista: TClientDataSet;
cdsDentistaCODDENTISTA: TIntegerField;
cdsDentistaNOMEDENTISTA: TStringField;
cdsDentistaVALORHORA: TBCDField;
cdsProcedimentoCODPROCEDIMENTO: TIntegerField;
cdsProcedimentoDESCRICAO: TStringField;
cdsProcedimentoTEMPOPREVISTO: TTimeField;
cdsSenhaSENHADENTISTA: TIntegerField;
cdsPaciente: TClientDataSet;
cdsPacienteCODPACIENTE: TIntegerField;
cdsPacienteNOMEPACIENTE: TStringField;
cdsPacienteVALORTRATAMENTO: TBCDField;
sdtAgenda: TSQLDataSet;
dspAgenda: TDataSetProvider;
cdsAgenda: TClientDataSet;
procedure cdsAgendaAfterPost(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
procedure GetAgenda(aid:Integer);
procedure GetProcedimento(aid:Integer);
end;

var
DM: TDM;

implementation

{$R *.dfm}

{ TDM }

procedure TDM.GetAgenda(aid: Integer);
begin
cdsAgenda.Close;
cdsAgenda.Params[0].AsInteger := aid;
cdsAgenda.Open;
end;

procedure TDM.cdsAgendaAfterPost(DataSet: TDataSet);
begin
cdsAgenda.ApplyUpdates(0)
end;

procedure TDM.GetProcedimento(aid: Integer);
begin
cdsProcedimento.Close;
cdsProcedimento.Params[0].AsInteger := aid;
cdsProcedimento.Open;
end;

end.

será que é isso que vc quer? é que eu ainda estou na primeira tela de menu onde eu chamei o primeiro arq. quando fiz o run pra ver a telinha, deu esse erro, ok?


Responder

Gostei + 0

17/10/2007

Marco Salles

voce tem algum parametro definido nesta Sql ???? Como voce definiu esses parametros ???


pelo visto voce tem parametros :

cdsAgenda.Close; [b:3818232312][u:3818232312]cdsAgenda.Params[0].AsInteger := aid;[/u:3818232312][/b:3818232312] cdsAgenda.Open;


como voce definiu esse parametros , ou voce não o definiu ????


Responder

Gostei + 0

17/10/2007

Smpferr

Citação:
cdsAgenda.Close;
cdsAgenda.Params[0].AsInteger := aid;
cdsAgenda.Open;

Isso eu fiz seguindo a aula, mas na Agenda a chave é data + codigo do dentista que é inteiro, então como devo fazer?

obrigada,


Responder

Gostei + 0

17/10/2007

Marco Salles

voce deve clicar na propriedade params do componente
< voce deve estar usando SqlDataSet >
Ira abrir o Editing SqlDataSetParams
Click no Parametro que aparece <caso não aparece nenhum é porque não esta conectado...ai voce vai ter que criar Isto ja é outra História >
[b:93d6dbb192]Altere a Propriedade DataType para Integer[/b:93d6dbb192]
em seguida no ClientDataSet click com o Botão a direita e escolha a
opção FetchParams


Responder

Gostei + 0

18/10/2007

Smpferr

Bom dia Marco, acertei todos os Params, mas só que agora não abre para eu poder compilar pra ver se passa ... não consigo entender o que está acontecendo.

obrigada pela força

Sílvia


Responder

Gostei + 0

18/10/2007

Marco Salles

O que que não abre ????


Responder

Gostei + 0

18/10/2007

Smpferr

Me desculpe, eu não havia aberto o projeto, só as .pas, mas de qualquer forma compilei e deu o mesmo erro

Project prjConsultorio.exe raised exception class EUIBError with message ´Dynamic SQL Error SQL error code = -303 conversion error from string ´!´ Incompatible column/host vairable data type Error Code:249´. Process stopped. Use Step or Run to continue.

Acho que vou desistir e começar tudo de novo. Sabe, eu fui programadora em Clipper por 18 anos e agora estou tentando programar em Delphi, e vou te falar uma coisa .......... não posso escrever o que estou pensando.


Responder

Gostei + 0

18/10/2007

Marco Salles

Acho que vou desistir e começar tudo de novo.


Acho que isto é uma boa solução...

´Se ainda não deu é porque não chegou a Hora´

mas sem compromisso , me responda , voce esta usando
qual o Driver ,
qual o Banco
quais componetes de acesso ??

verifiquei que a mensagem de erro mudou

[u:d14f979b30]1 post?[/u:d14f979b30]

Project prjConsultorio.exe raised exception [b:d14f979b30]class EOleException [/b:d14f979b30]with message ´Dynamic SQL Error SQL error code = -303 conversion error from string[b:d14f979b30] ´1´[/b:d14f979b30] Incompatible column/host variable data type Error Code:249´. Process stopped. Use Step or Run to continue.



para [u:d14f979b30]ultimo Post[/u:d14f979b30]

Project prjConsultorio.exe raised exception [b:d14f979b30]class EUIBError [/b:d14f979b30]with message ´Dynamic SQL Error SQL error code = -303 conversion error from string [b:d14f979b30]´!´[/b:d14f979b30] Incompatible column/host vairable data type Error Code:249´. Process stopped. Use Step or Run to continue.


porque apareceu o Caracter ´!´ na jogada :?: :?: :?: Este ´!´ foi digitado por voce ???? ..


Responder

Gostei + 0

19/10/2007

Smpferr

Marco, o caracter ´!´ foi digitado por mim na hora de passar para vc. Na realidade é o ´1´.
Estou usando o IBExpert com o Fire 1.5 e o Delphy 7.
Vou assistindo ao curso Client/Server do Luciano, parando e fazendo. Não sei quando que eu faço alguma coisa diferente (adaptando para o que eu quero) achando que está certo, que dá errado. (risos) Hoje estou calma novamente, ontem nem peguei mais de tão zangada comigo mesma, é claro.
Obrigada pela força, mais uma vez, e pela paciencia.

Sílvia


Responder

Gostei + 0

19/10/2007

Marco Salles

olhei a parte iii do curso do pimenta e não notei nada de anormal , daquilo que voce disse que fez.. No proprio exemplo do mesmo o parametro é do tipo inteiro...

Acho que voce deve então , verificar com mais atenção a parte II do Curso , que mostra como utilizar o Driver para o Firibird.

Sugiro tb se possivel for fazer uma conexão exempo com um Banco no Interbase , usando o Driver da Borland... [u:ca55c990fa]Parametrizando a consulta [/u:ca55c990fa]e verificando se existe erro... Caso tenha sucesso nesta empreitada , fica evidente que o problema esta na utilização ou configuração do Dirver
para o Interbase..


Responder

Gostei + 0

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

Aceitar