Ronaldo Lanhellas Postado Agosto 26, 2010 Denunciar Share Postado Agosto 26, 2010 (editado) Bom estou criando um parametro no componente TSQLQuery com as seguintes configurações:DataType: ftdateParamType : ptInputOutputValue Type: Datepasso os valores para o parametro da seguinte forma:DM.queryConsulta.Params.ParamByName('Data').Value := (DateTimePicker1.Date);ao executa o comando ele diz que o parametro Data não foi encontrado. Percebi que depois eu ia lá no meu Query no DataModule e o parametro Data tinha sumido, ele some sozinho !o que fazer? Editado Agosto 26, 2010 por Ronaldo Lanhellas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 26, 2010 Denunciar Share Postado Agosto 26, 2010 como eu disse é necessário que voce leia mais sobre o delphihttp://www.devmedia.com.br/articles/viewcomp.asp?comp=4186abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ronaldo Lanhellas Postado Agosto 26, 2010 Autor Denunciar Share Postado Agosto 26, 2010 tudo que esta escrito no link que voce me passou eu já sei , o problema é que o parametro some "do nada" do meu componente TSQLQUERY, eu vou lar ver e simplesmente ele não está mais la´. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 26, 2010 Denunciar Share Postado Agosto 26, 2010 voce esta dizendo que o componente esta sumindo ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ronaldo Lanhellas Postado Agosto 26, 2010 Autor Denunciar Share Postado Agosto 26, 2010 não, o parametro que eu crio dentro do componente esta sumindo. obs:o codigo que estou usando é este:DM.queryConsulta.Close; DM.queryConsulta.SQL.Clear; DM.queryConsulta.ParamByName('Data').Value := DateToStr(DateTimePicker1.Date); DM.queryConsulta.SQL.Add('select PACIENTE.nome, CONSULTA.DATA, CONSULTA.HORA, MEDICO.nome from PACIENTE, CONSULTA, MEDICO WHERE CONSULTA.DATA =:Data'); DM.queryConsulta.Open;Isto é, eu vou armazenar no parametro Data, o valor do componente DateTimePicker1.Date e depois jogar ele no comando sql, sendo que meu parametro é do tipo string por isso faço a conversão de Date para Str. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 26, 2010 Denunciar Share Postado Agosto 26, 2010 veja a modificação ... o parametro tem que vir depois da sua criaçãoDM.queryConsulta.Close; DM.queryConsulta.SQL.Clear; DM.queryConsulta.SQL.Add('select PACIENTE.nome, CONSULTA.DATA, CONSULTA.HORA, MEDICO.nome from PACIENTE, CONSULTA, MEDICO WHERE CONSULTA.DATA =:Data'); DM.queryConsulta.ParamByName('Data').Value := DateToStr(DateTimePicker1.Date); DM.queryConsulta.Open;abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ronaldo Lanhellas Postado Agosto 27, 2010 Autor Denunciar Share Postado Agosto 27, 2010 certo funcionou perfeitamente.. agora uma duvida, no meu select estou usando o seguinte comando DM.queryConsulta.SQL.Add('select PACIENTE.nome, CONSULTA.DATA, CONSULTA.HORA, MEDICO.nome from PACIENTE, CONSULTA, MEDICO WHERE CONSULTA.DATA =:Data');percebe que tenho duas variaveis chamadas nome, o que aconteçe é que no dbgrid ele coloca a primeira como nome e a segunda como nome1, gostaria de por Nome do Paciente e Nome do Médico, mais lá na opção columns editor não me apareçe a opção para adicionar todas as colunas, afinal como faço essa mudança apenas de nome Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 27, 2010 Denunciar Share Postado Agosto 27, 2010 percebe que tenho duas variaveis chamadas nome, o que aconteçe é que no dbgrid ele coloca a primeira como nome e a segunda como nome1, gostaria de por Nome do Paciente e Nome do Médico, mais lá na opção columns editor não me apareçe a opção para adicionar todas as colunas, afinal como faço essa mudança apenas de nomeele coloca a primeira como nome e a segunda como nome1é extamente assim que funciona quando voce adiciona a instrução sql em tempo de execuçãopara ser da maneira que voce quer, a instrução sql deverá estar dentro do componente query em tempo de Design ( projeto ) e desta maneira pelo Editor de colunas voce pode alterar o nomeabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ronaldo Lanhellas Postado Agosto 28, 2010 Autor Denunciar Share Postado Agosto 28, 2010 mais como vou por minha instrução query em tempo de design se preciso mudar o valor do parametro dinamicamente, por exemplo: se o usuario clicar na data 23/08/2010 o parametro da query terá que receber este valor, se ele clicar em outra data o valor já mudar ! Como vou definir isto em tempo de design ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 29, 2010 Denunciar Share Postado Agosto 29, 2010 Voce não esta usando assim ? DM.queryConsulta.SQL.Add('select PACIENTE.nome, CONSULTA.DATA, CONSULTA.HORA, MEDICO.nome from PACIENTE, CONSULTA, MEDICO WHERE CONSULTA.DATA =:Data');coloque somente a instrução select dentro da propriedade SQL da query e depois defina os parametros na propriedade PARAMS da propria query ou na properiedade PARAMS do ClientDataSet se estiver usando ele.select PACIENTE.nome, CONSULTA.DATA, CONSULTA.HORA, MEDICO.nome from PACIENTE, CONSULTA, MEDICO WHERE CONSULTA.DATA =:DataOBS: Leia o manual ou apostila do delphi ... vai encontrar as soluções para os seus problemasabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ronaldo Lanhellas Postado Agosto 29, 2010 Autor Denunciar Share Postado Agosto 29, 2010 (editado) Se eu ponho o parametro no select da erro:select MEDICO.NOME, PACIENTE.NOME, AGENDA.DATA, AGENDA.HORA, AGENDA.MEDICOID, AGENDA.PACIENTEID fromAGENDA, MEDICO, PACIENTEwhere AGENDA.MEDICOID = MEDICO.MEDICOIDAnd AGENDA.PACIENTEID = PACIENTE.PACIENTEID AND AGENDA.DATA =: DataCreiu eu que isto se dá pois o parametro ainda não tem valor, não sei se é isto ! Editado Agosto 29, 2010 por Ronaldo Lanhellas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 29, 2010 Denunciar Share Postado Agosto 29, 2010 Veja a diferença: And AGENDA.PACIENTEID = PACIENTE.PACIENTEID AND AGENDA.DATA =: DataAnd AGENDA.PACIENTEID = PACIENTE.PACIENTEID AND AGENDA.DATA = :Dataabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ronaldo Lanhellas Postado Agosto 29, 2010 Autor Denunciar Share Postado Agosto 29, 2010 ótimo funcinou, agora como faço para passar o valor da data do Datetimepicker1 para o parametro e mostrar no dbgrid apenas a data que ele selecionartentei fazer assim mais não funciounou:DsAgenda.DataSet.Close;DM.sdsagenda.params.ParamByName('Data').Value := DateTimePicker1.Date;DsAgenda.DataSet.Open;Da um erro de Token unknow Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 29, 2010 Denunciar Share Postado Agosto 29, 2010 um exemplo: Notas_IB.Active := false; // IBQuery CDS_Notas.Active := false; // ClientDataSet CDS_Notas.Params[0].AsDate := DateEdit1.Date; // Parametro Notas_IB.Active := true; CDS_Notas.Active := true;não entendi o seu códigoDsAgenda.DataSet.Close;DM.sdsagenda.params.ParamByName('Data').Value := DateTimePicker1.Date;DsAgenda.DataSet.Open;ou seria DsAgenda.DataSet.Close;DSAgenda.params.ParamByName('Data').Value := DateTimePicker1.Date;DsAgenda.DataSet.Open;OBS: Se voce lesse o manual ou apostila do delphi não teria esse tipo de problema tem apostilas no forum https://www.scriptbrasil.com.br/apostilas/programas/delphi/abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ronaldo Lanhellas Postado Agosto 29, 2010 Autor Denunciar Share Postado Agosto 29, 2010 o meu codigo é o seguinte :DsAgenda.DataSet.Close;DM.sdsagenda.params.ParamByName('Data').Value := DateTimePicker1.Date;DsAgenda.DataSet.Open;meu DataSource (Dsagenda) está ligado ao meu ClientDataSet(cdsAgenda). Então primeiro fecho ele, depois coloco um valor do DateTimePicker no meu parametro que está no SQLDataSet (sdsAgenda), não tem como fazer DsAgenda.Params, pois não tem esta opção do meu DsAgenda, apenas se eu fizer DM.cdsAgenda.Params Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Ronaldo Lanhellas
Bom estou criando um parametro no componente TSQLQuery com as seguintes configurações:
DataType: ftdate
ParamType : ptInputOutput
Value Type: Date
passo os valores para o parametro da seguinte forma:
DM.queryConsulta.Params.ParamByName('Data').Value := (DateTimePicker1.Date);
ao executa o comando ele diz que o parametro Data não foi encontrado. Percebi que depois eu ia lá no meu Query no DataModule e o parametro Data tinha sumido, ele some sozinho !
o que fazer?
Editado por Ronaldo LanhellasLink para o comentário
Compartilhar em outros sites
14 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.