ERRO AO DEFINIR CLIENTDATASET (DBEXPRESS)
Estou definindo as conexões para o banco de dadso (MySql) utilizando DBExpress (Delphi 6).
Defini um SqlDataSet com a propriedade Comand Text contendo Select identificacao, texto from linhas where identificacao = :identificacao.
e defini a sua respectiva SqlConnection.
Em seguida defini defini o DataSetProvider com suas propriedades.
Ao definir ClientdataSet, especifiquei O Provider , ao configurar a propriedade Params recebo , ao acionar a opção Add all field no Field Editor, a mensagem de erro No Value for parameter ´identificacao´.
O que estou fazendo errado?
Defini um SqlDataSet com a propriedade Comand Text contendo Select identificacao, texto from linhas where identificacao = :identificacao.
e defini a sua respectiva SqlConnection.
Em seguida defini defini o DataSetProvider com suas propriedades.
Ao definir ClientdataSet, especifiquei O Provider , ao configurar a propriedade Params recebo , ao acionar a opção Add all field no Field Editor, a mensagem de erro No Value for parameter ´identificacao´.
O que estou fazendo errado?
Poy
Curtidas 0
Respostas
Woinch
05/06/2009
Na propriedade Params do ClientDataSet foi criado o parâmetro identificacao? Caso contrário crie-o.
Espero ter ajudado.
Espero ter ajudado.
GOSTEI 0
Poy
05/06/2009
WOINCH,
A propriedade Params do Client Data Set está definido como Tparams,
Qando edito o parâmetro exibe ´0 - identificacao´, sem aspas.
No Object Inspector as definições são : Data type ftstring
Name identificacao
Param Type PTInput
Size 11
As definições estão corretas?
A propriedade Params do Client Data Set está definido como Tparams,
Qando edito o parâmetro exibe ´0 - identificacao´, sem aspas.
No Object Inspector as definições são : Data type ftstring
Name identificacao
Param Type PTInput
Size 11
As definições estão corretas?
GOSTEI 0
Danielrsanches
05/06/2009
olá !!
amigo, eu entendi o seu problema .. faça o seguinte ..
no seu comando SQL (Select identificacao, texto from linhas where identificacao = :identificacao) troque para:
Select identificacao, texto from linhas
adicione os campos e depois coloque novamente o comando SQL padrão:
Select identificacao, texto from linhas where identificacao = :identificacao
qq coisa post novamente ...
abraço!!
amigo, eu entendi o seu problema .. faça o seguinte ..
no seu comando SQL (Select identificacao, texto from linhas where identificacao = :identificacao) troque para:
Select identificacao, texto from linhas
adicione os campos e depois coloque novamente o comando SQL padrão:
Select identificacao, texto from linhas where identificacao = :identificacao
qq coisa post novamente ...
abraço!!
GOSTEI 0
Woinch
05/06/2009
Quem pode dizer se está correto é você mesmo. :) eu não sei o tipo do campo. Na dúvida coloque o tipo ftUnknown e o ParamType desse jeito também. As vezes ocorre de dar uns paus em relação a isso (não me pergunte porque)... Ai o negócio é adicionar novos conjutos de ClientDataSet, etc... e fazer a mesma configuração. Remova os antigos e renomeie os novos.
Espero ter ajudado.
Espero ter ajudado.
GOSTEI 0
Poy
05/06/2009
daniel,
Não resolveu, dá ´erro catastrófico´
Não resolveu, dá ´erro catastrófico´
GOSTEI 0
Danielrsanches
05/06/2009
faça o seguinte .. tente definir um valor para o parametro Identificacao ..
entre na propriedade Params e em 0 - identificacao, defina a propriedade identificacao para ´x´ (sem aspas) ...
faça esse teste e post aki o erro que der ...
abraço !!
entre na propriedade Params e em 0 - identificacao, defina a propriedade identificacao para ´x´ (sem aspas) ...
faça esse teste e post aki o erro que der ...
abraço !!
GOSTEI 0
Discorpio
05/06/2009
Bom dia a todos.
Pessoal, o erro está na definição do parâmetro na instrução SQL.
Como assim :?:
Qual é o banco de dados utilizado :?: MySQL, correto.
Voce está utilizando a sintaxe de definição de parâmetros do dialeto SQL do FireBird, ou seja, colocando dois pontos (´:´) antes do nome do parâmetro.
No dialeto SQL do MySQL, se não me falhe a memória, a identificação do parâmetro é definida pelo caracter ponto de interrogação (´?´). Então ficaria assim:
Pessoal, o erro está na definição do parâmetro na instrução SQL.
Como assim :?:
Qual é o banco de dados utilizado :?: MySQL, correto.
Voce está utilizando a sintaxe de definição de parâmetros do dialeto SQL do FireBird, ou seja, colocando dois pontos (´:´) antes do nome do parâmetro.
Select identificacao, texto from linhas where identificacao = [color=red:2975f9e90f]:identificacao[/color:2975f9e90f].
No dialeto SQL do MySQL, se não me falhe a memória, a identificação do parâmetro é definida pelo caracter ponto de interrogação (´?´). Então ficaria assim:
Select identificacao, texto from linhas where identificacao = [color=red:2975f9e90f]?identificacao[/color:2975f9e90f].
GOSTEI 0
Poy
05/06/2009
daniel, no caso de sua sugestão o eero que dá é erro catastrofico.
NO caso do Jorge, o erro não muda: ´No value for parameter identificacao´
SOCORRO !!!!!!!
NO caso do Jorge, o erro não muda: ´No value for parameter identificacao´
SOCORRO !!!!!!!
GOSTEI 0
Marco Salles
05/06/2009
Vc clicou no CleintDataSett com o Botão direito e escolheu a Opção
FetchParams ???????
FetchParams ???????
GOSTEI 0
Danielrsanches
05/06/2009
No dialeto SQL do MySQL, se não me falhe a memória, a identificação do parâmetro é definida pelo caracter ponto de interrogação (´?´)
no MySql é ´:´ (dois pontos) mesmo ...
faça o seguinte ...
limpe a sua instrução SQL ... deixe-a em branco ...
emtre em Params e delete o parametro ´0 - identificacao´...
coloque novamente sua instrução SQL:
Select identificacao, texto from linhas where identificacao = :identificacao
sem adicionar nenhum parametro (pois ele já foi adicionado como Unknown com a instrução sql), tente add os Campos novamente ..
qq coisa é só postar ...
abraço !!!
GOSTEI 0
Poy
05/06/2009
sim, fiz o fetch parameters.
Apaguei tudo e refiz e o erro continua.....
Apaguei tudo e refiz e o erro continua.....
GOSTEI 0
Marco Salles
05/06/2009
So uma pergunta
Sem o Parametro vc consegue adicionar os Fields ???
Sem o Parametro vc consegue adicionar os Fields ???
GOSTEI 0
Poy
05/06/2009
Não. dá erro de sintaxe em :identificador
GOSTEI 0
Danielrsanches
05/06/2009
estranho...
se vc puder, faça um sisteminha simples:
1 form + componentes de conexão com a tabela ...
a tabela eu crio aki ...
faça tudo como vc está fazendo aí e mande por e-mail pra mim ... eu dou uma analizada ...
danielrsanches@gmail.com
abraços !!
se vc puder, faça um sisteminha simples:
1 form + componentes de conexão com a tabela ...
a tabela eu crio aki ...
faça tudo como vc está fazendo aí e mande por e-mail pra mim ... eu dou uma analizada ...
danielrsanches@gmail.com
abraços !!
GOSTEI 0
Marco Salles
05/06/2009
So uma pergunta
Sem o Parametro vc consegue adicionar os Fields ???
Não. dá erro de sintaxe em :identificador
Não .... Vc não entendeu .
Sem o parametro vc tem que tirar o IDENTIFICADOR
Assim ô....
Select identificacao, texto from linhas
simples assim ....
GOSTEI 0
Discorpio
05/06/2009
Bom dia a todos
Daniel, acho que voce está equivocado. Ao consultar alguns livros de MySQL aqui da Secretaria, vi que o identificador de parâmetros do seu dialeto SQL é o ponto de interrogação.
O meu post anterior está parcialmente correto, ou seja, voce não precisa nomear o parâmetro na instrução SQL, o ponto de interrogação por si só já o parâmetro, assim:
Repare que o erro passou a ser este:
no MySql é ´:´ (dois pontos) mesmo ...
Daniel, acho que voce está equivocado. Ao consultar alguns livros de MySQL aqui da Secretaria, vi que o identificador de parâmetros do seu dialeto SQL é o ponto de interrogação.
O meu post anterior está parcialmente correto, ou seja, voce não precisa nomear o parâmetro na instrução SQL, o ponto de interrogação por si só já o parâmetro, assim:
Select identificacao, texto from linhas where identificacao = ?
Repare que o erro passou a ser este:
Não. dá erro de sintaxe em :identificador
GOSTEI 0
Danielrsanches
05/06/2009
olá Discórpio !!
olha !! eu trabalho com MySQL há algum tempo, e continuo trabalhando com tal, e sempre utilizei ´:´
nunca ocorreu erro de sintaxe ...
utilizo a versão 5 ...
abraço !!!
olha !! eu trabalho com MySQL há algum tempo, e continuo trabalhando com tal, e sempre utilizei ´:´
nunca ocorreu erro de sintaxe ...
utilizo a versão 5 ...
abraço !!!
GOSTEI 0
Devmedia
05/06/2009
Estou definindo as conexões para o banco de dadso (MySql) utilizando DBExpress (Delphi 6).
Defini um SqlDataSet com a propriedade Comand Text contendo Select identificacao, texto from linhas where identificacao = :identificacao.
e defini a sua respectiva SqlConnection.
Em seguida defini defini o DataSetProvider com suas propriedades.
Ao definir ClientdataSet, especifiquei O Provider , ao configurar a propriedade Params recebo , ao acionar a opção Add all field no Field Editor, a mensagem de erro No Value for parameter ´identificacao´.
O que estou fazendo errado?
Olá poy!
Tudo bom contigo?
DMGuiaDeTrafego.ClientDataSetRelatorioGuia.Active := False; DMGuiaDeTrafego.QueryRelatorioGuia.Close; DMGuiaDeTrafego.QueryRelatorioGuia.SQL.Clear; DMGuiaDeTrafego.QueryRelatorioGuia.SQL.Add(´select NUMERO, REGIAO, DESTICID, DESTIUF, DATA from GUIA where DATA>=:pINICIAL and DATA<=:pFINAL order by DESTIUF, NUMERO´); DMGuiaDeTrafego.QueryRelatorioGuia.ParamByName(´pINICIAL´).AsDateTime := StrToDate(CrnDateEditPrimeiraData.Text); DMGuiaDeTrafego.QueryRelatorioGuia.ParamByName(´pFINAL´).AsDateTime := StrToDate(CrnDateEditUltimaData.Text); DMGuiaDeTrafego.QueryRelatorioGuia.Open; DMGuiaDeTrafego.ClientDataSetRelatorioGuia.Active := True;
Estou te enviando um código meu aqui sem fazer edição pra voce, porque to na correria, mas pelo que eu entendi do seu tópico, seria isto?!
Certo, errado, posta ai de novo!
GOSTEI 0
Devmedia
05/06/2009
Estou definindo as conexões para o banco de dadso (MySql) utilizando DBExpress (Delphi 6).
Defini um SqlDataSet com a propriedade Comand Text contendo Select identificacao, texto from linhas where identificacao = :identificacao.
e defini a sua respectiva SqlConnection.
Em seguida defini defini o DataSetProvider com suas propriedades.
Ao definir ClientdataSet, especifiquei O Provider , ao configurar a propriedade Params recebo , ao acionar a opção Add all field no Field Editor, a mensagem de erro No Value for parameter ´identificacao´.
O que estou fazendo errado?
Olá poy!
Tudo bom contigo?
DMGuiaDeTrafego.ClientDataSetRelatorioGuia.Active := False; DMGuiaDeTrafego.QueryRelatorioGuia.Close; DMGuiaDeTrafego.QueryRelatorioGuia.SQL.Clear; DMGuiaDeTrafego.QueryRelatorioGuia.SQL.Add(´select NUMERO, REGIAO, DESTICID, DESTIUF, DATA from GUIA where DATA>=:pINICIAL and DATA<=:pFINAL order by DESTIUF, NUMERO´); DMGuiaDeTrafego.QueryRelatorioGuia.ParamByName(´pINICIAL´).AsDateTime := StrToDate(CrnDateEditPrimeiraData.Text); DMGuiaDeTrafego.QueryRelatorioGuia.ParamByName(´pFINAL´).AsDateTime := StrToDate(CrnDateEditUltimaData.Text); DMGuiaDeTrafego.QueryRelatorioGuia.Open; DMGuiaDeTrafego.ClientDataSetRelatorioGuia.Active := True;
Estou te enviando um código meu aqui sem fazer edição pra voce, porque to na correria, mas pelo que eu entendi do seu tópico, seria isto?!
Certo, errado, posta ai de novo!
GOSTEI 0