
Alessandro
Membros-
Total de itens
160 -
Registro em
-
Última visita
Tudo que Alessandro postou
-
Putz cara, antes de ficar atordoando você eu fui dar uma pesquisada na net....mas era isso mesmo, fiz uma outra query só para locate e usei a que já estava criada para Insert e/ou Update... Tive que mudar um pouquinho a lógica, mais uma vez obrigado Programador.....farô cara..... PS. O erro era porque a conexão ficava ativa.....
-
Deixa eu ver se entendi..... No Datamodule eu irei criar outra Query e na propriedades SQL dela irei colocar SELECT * FROM Controle Daí no Locate iria ficar assim: DM.ADOQuery1.Locate('Data;Chapa', VarArrayof ([v_data, v_chapa]),[]) Estou certo ??? O resto fica como está ????
-
Então cara....eu consigo efetuar um INSERT ou um UPDATE como está aí no código....mas eu não entendo o porque do erro.... Tente imaginar o seguinte : ( como se fosse um sistema de ponto) >>Eu crio o executável e digito a chapa e senha para sair para o almoço por exemplo>>o sistema verifica no banco e efetua o procedimento sem dar nenhum erro jogando o horário de saida na coluna Hora Saida... >>Se caso eu quiser digitar minha chapa e senha novamente para voltar do almoço sem fechar o executável, o sistema exibe a mensagem de erro mas salva o horário na coluna HoraVolta..... Detalhe>>Ele não está entendendo que eu quero efetuar varios procedimentos no banco.......está sendo necessário efetuar um procedimento e fechar o executável>>depois abrir novamente e efetuar outro....aí sim ele não dá erro..... O que eu quero dizer com automaticamente é efetuar varias vezes as saídas ou voltas sem precisar fechar o executável......mas isto não está sendo possível......dá este erro...... PS. Lembrando que ele salva os dados com sucesso no banco......
-
Tenho o seguinte problema : Eu executo meu programa e consigo efetuar um INSERT no banco normalmente, mas se caso eu quiser inserir outro automaticamente aparece a seguinte mensagem: QueryControle: CommandText does not return a result set. Mas os dados são gravados no banco de dados.... Já tentei de tudo.....mas não obtive sucesso..... Eu estou ativando a conexão no OnCreate do dataModule. Será que alguém pode me ajudar ??? Este é o código: Resunindo eu verifico se existe o usuário e logo em seguida verifico se ele está voltando ou indo almoçar.....trata-se de um controle de almoço...... procedure TfmPrincipal.btnokClick(Sender: TObject); var v_chapa, v_senha : String; var v_data, v_hora : TdateTime; begin v_chapa := Edit1.Text; v_senha := Edit2.Text; v_data := strtodate(FormatDateTime('dd/mm/yyyy',Data)); v_hora := strtotime(FormatDateTime('hh:mm:ss',Data)); if ((Edit1.Text = '') or (Edit2.Text = '')) then begin Messagedlg('Digite a chapa e senha.'+#13#13+'>>Caso não esteja cadastrado consulte seu supervisor.',mtInformation,[mbOK],0); Edit2.setFocus; abort; end; if not (DM.QueryUsuario.Active = true) then begin DM.QueryUsuario.Active := true end; if not (DM.QueryControle.Active = true) then begin DM.QueryControle.Active := true; end; if DM.QueryUsuario.Locate('Chapa;Senha', VarArrayOf ([v_chapa, v_senha]), []) then begin if not DM.QueryControle.Locate('Data;Chapa', VarArrayof ([v_data, v_chapa]),[]) then begin Messagedlg('Você está saindo.Grava os dados em saída',mtInformation,[mbOK],0); DM.QueryControle.Close; DM.QueryControle.SQL.Clear; DM.QueryControle.SQL.Add('INSERT INTO Controle (Data, Chapa, HoraSaida) VALUES (:data,:chapa,:saida)'); DM.QueryControle.Parameters.ParamByName('data').Value:= v_data; DM.QueryControle.Parameters.ParamByName('chapa').Value:= v_chapa; DM.QueryControle.Parameters.ParamByName('saida').Value:= v_hora; DM.QueryControle.ExecSQL; Edit1.Clear; Edit2.Clear; Edit1.SetFocus; end else begin if DM.QueryControleHoraVolta.IsNull then begin Messagedlg('Você está voltando. Grava os dados em Volta',mtInformation,[mbOK],0); DM.QueryControle.Close; DM.QueryControle.SQL.Clear; DM.QueryControle.SQL.Add('UPDATE Controle SET HoraVolta = :volta WHERE Data = :data AND Chapa = :chapa'); DM.QueryControle.Parameters.ParamByName('data').Value:= v_data; DM.QueryControle.Parameters.ParamByName('chapa').Value:= v_chapa; DM.QueryControle.Parameters.ParamByName('volta').Value:= v_hora; DM.QueryControle.ExecSQL; Edit1.Clear; Edit2.Clear; Edit1.SetFocus; end else begin Messagedlg('Você já excedeu o número de batidas hoje.',mtInformation,[mbOK],0); abort; end; end; end else begin Messagedlg('O Chapa ou Senha inválido!',mtError,[mbOK],0); Edit2.Clear; Edit2.SetFocus; abort; end end; Obrigado.....
-
valeu mais uma vez......agora aprendi....eu não sabia quando usar esse ExecSQL acredita ?!?! Consegui o que eu queria..... Abraços......fechaí
-
DM.QueryControle.Close; DM.QueryControle.SQL.Clear; DM.QueryControle.SQL.Add('INSERT INTO Controle (Data, Chapa, HoraSaida) VALUES ("v_data","v_chapa","v_hora")'); DM.QueryControle.Open; Galera, preciso de um help com esse INSERT, estou utilizando banco de dados Access e Delphi 6, mas quando ele entra nesta linha de comando aparece a seguinte mensagem: Tipo de Dados Incompatível na expressão de critério..... Alguém sabe o que está errado ???? OBS. v_data,v_chapa,v_hora são variáveis PS. Estou começando a usar inserção agora.....antes eu trabalhava com os métodos Append, Post, etc..... valeu ....
-
Preciso Muito Compartilhar Meu Banco De Dados
pergunta respondeu ao Alessandro de Alessandro em Delphi, Kylix
valeu galera.....desculpe-me pela demora para responder aqui.....estive sem internet por um tempo...... Mas deu certinho........ Abraços....... -
Preciso Muito Compartilhar Meu Banco De Dados
pergunta respondeu ao Alessandro de Alessandro em Delphi, Kylix
Foi mal pela abreviação......P4 = Pentium 4...... Este que é o problema... No ADO conection eu configuro tudo ??? Porque a aplicação está rodando normal em minha máquina, mas se eu acesso de outra....não acontece nada....justamente por não estar encontrando o banco de daos..... Quando você diz que é só colocar o caminho no ADO connection, você está falando do que exatamente ??? Pois tem aquela opção onde você testa a conexão.....lá que você está falando ???? Se for, o que muda de uma aplicação que roda só na minha máquina que é o P4, e não roda nas outras máquinas ??? PS. Putz, enchi você de perguntas...... -
Preciso Muito Compartilhar Meu Banco De Dados
pergunta respondeu ao Alessandro de Alessandro em Delphi, Kylix
Putz cara....nem uso o BDE, uso as ferramentas do ADO mesmo..... A aplicação vai ficar em um P4, onde o pessoal vai utilizar o sistema através de um atalho..... Respondi a sua pergunta?!?! -
Boa tarde galera, eu preciso muito de uma ajuda de vocês... Tenho uma aplicação feita no DELPHI 6 e com banco de dados Access 2000, mas não tenho idéia de como disponibilizar o banco para a rede. Alguém sabe me explicar como posso fazer com que minha aplicação funcione em qualquer máquina ? A intenção é só disponibilizar o atalho para cada usuário.... Quando jogo o atalho na máquina de outra pessoa não rola nada...... Já fiz meu banco em Interbase, mas as máuina precisam do Client pra rodar....já o Access 2000 é padrão aqui na empresa......todo mundo tem valeu......
-
Boa tarde galera, eu preciso muito de uma ajuda de vocês... Tenho uma aplicação feita no DELPHI 6 mas não tenho idéia de como disponibilizar o banco para a rede. Alguém sabe me explicar como posso fazer com que minha aplicação funcione em qualquer máquina ? A intenção é só disponibilizar o atalho para cada usuário.... valeu......
-
Olá pessoal...quanto tempo einh..... Eu gostaria de saber como eu faço para que uma aplicação utilizando banco de dados Interbase rode em um micro de outra pessoa que não tem nada instalado na máquina (DELPHI 6, Interbase, BDE, etc...) Por que quando eu tento executar dá um erro... Será que já petguntaram isso aqui em algum tópico....se sim, por favor me mostrem qual é....senão, pode dar um help ???
-
Dúvida Simples Para Consultar Registro (RESOLVIDO)
pergunta respondeu ao Alessandro de Alessandro em Delphi, Kylix
estou pegando o jeito.....então quer dizer que seu usar parametros é IBQUERY1.ACTIVE := false;.....papapapa e quando não uso parâmetros é IBQUERY1.close;......papapapa valeu.....Fechou Abraços -
Boa tarde pessoal, estou com o seguinte problema....iniciando no interbase 1º Eu desejo consultar por nome, atraves de um edit1.Text 2º No IBQuery eu digitei no Command Text Editor o seguinte código : SELECT * FROM AGENDA WHERE nome = :nome_digitado 3º Depois, coloquei este outro no botão consultar : dataModule1.IBDatabase1.Connected := true; dataModule1.IBQuery1.Active := false; dataModule1.IBQuery1.ParamByName('nome_digitado').AsString:=Edit1.Text; dataModule1.IBQuery1.Active := true; dbGrid1.ReadOnly := true; Está funcionando normalmente...só que eu queria otimizar a consulta...e quando digitado A por exemplo, 1º O dbGrid trazer tudo que começar com A Alessandro Adriano Agnaldo e assim por diante... 2º Ordenado em ordem alfabética Se alguém tiver um tempinho...postaí....
-
Como Declarar Esse Tipo De Variável? - (RESOLVIDO)
pergunta respondeu ao Alessandro de Alessandro em Delphi, Kylix
valeu Capablanca.....funcionou deireitinho..... fechou -
Olá pessoal....olha eu migrando para o Interbase.... Gostaria de saber como faço para declarar uma variável que armazene imagens no BD, sei que no PARADOX é GRAPHIC e no Intebase ??? Por exemplo : connect "C:\AGENDA_IB\AGENDA.GDB" user "teste" Password "teste"; Create Table Agenda (codigo integer not null, nome Varchar(40), apelido Varchar(30), idade integer, data date, img ... Que tipo eu uso ? Obrigado....
-
Como Tratar Este Erro ? - (RESOLVIDO)
pergunta respondeu ao Alessandro de Alessandro em Delphi, Kylix
Show de bola cara era isso mesmo que precisava If openPictureDialog1.FileName <> '' then..... valeu pela 2ª dica.....mas é que eu prefiro gravar a img, pois o BD é simples......de qualquer forma parabéns pela didática.... Abraços Alexandre.... Fechou -
Quanto tempo pessoal, bom eu estou com o seguinte problema : 1º Eu fiz uma agenda telefônica e quero carregar fotos 2º Está tudo funcionando, ou seja, eu consigo carregar a imagem no BD. 3º o Código está assim (No click do Botão): OpenPictureDialog1.Execute; dataModule1.Table1Img.LoadFromFile(OpenPictureDialog1.FileName); 4º O problema é que quando eu clico no botão mas não seleciono nada, ou seja, clico em cancelar aparece uma mensagem Cannot open file Alguém sabe como eu faço para evitar isso ???
-
Bom eu já usei uma vez o OpenPictureDialog e utilizando o tipo como Graphic No meu código eu usei um datamodue e ficou assim no click do botão: OpenPictureDialog1.Execute; dataModule1.Table1Img.LoadFromFile(OpenPictureDialog1.FileName);
-
Between Com Data NÃo Funciona... (AUTORESOLVIDO)
pergunta respondeu ao Alessandro de Alessandro em Delphi, Kylix
valeu mesmo cara, fiz alguns testes mudando para date : Query1.Close; Query1.SQL.Clear; Query1.SQL.Add('SELECT CodPart,OS, Imei, AP, Defeito, Motivo, Data FROM DbCadOSCancel.db WHERE Data BETWEEN :data1 AND :data2'); Query1.parambyname('data1').AsDate := strtodate(Edit2.text); Query1.parambyname('data2').AsDate := strtodate(Edit3.text); Query1.Open; O erro está no BD, eu criei o tipo da variável como ALPHA e não DATE....valeu.... Fechou..... O seu código funcionou também..... Abraços -
Como muita gente utiliza o Excel para enviar por email informações sobre seus clientes, fornecedores, etc....vou postar aqui uma dica muito boa para quem quiser exportar dados de um DBGrid para o Excel em tempo de execução de uma maneira rápida e simples. 1º na Uses da Unit declare ComObj. 2º Crie um botão "Exportar para o Excel" 3º Depois de feita a consulta em um dbGrid, no evento onClick do botão criado coloque o seguinte código : var linha, coluna : integer; var planilha : variant; var valorcampo : string; begin Query1.CachedUpdates := true; planilha:= CreateoleObject('Excel.Application'); planilha.WorkBooks.add(1); planilha.caption := Exportando dados do dbGrid para o Excel'; planilha.visible := true; Query1.ApplyUpdates; Query1.First; for linha := 0 to Query1.RecordCount - 1 do begin for coluna := 1 to Query1.FieldCount do begin valorcampo := Query1.Fields[coluna - 1].AsString; planilha.cells[linha + 2,coluna] := valorCampo; end; Query1.Next; end; for coluna := 1 to Query1.FieldCount do begin valorcampo := Query1.Fields[coluna - 1].DisplayLabel; planilha.cells[1,coluna] := valorcampo; end; planilha.columns.Autofit; Pronto, você acaba de exportar tudo o que você consultou em um dbGrid para o Excel. Repare que o Excel respeita os registro se adaptando aos dados, isto porque utilizamos : planilha.columns.Autofit; Espero que seja muito útil.... Abraços...
-
Vamos ver se eu entendi. Você tem um form de Cadastro de clientes e outro de consulta. Quando você consultar o cliente e der dois cliques no dbGrid, o form 1 (Cadastro de Cliente) receber em seus determindados campos(dbEdit) os dados do cliente consultado.... É isso ??? Bom... se for, tente utilizar este código no evento OnDblClick do seu DBGrid. procedure TForm2.DBGrid1DblClick(Sender: TObject); begin // Clicando duas vezes no cliente você vai localizá-lo dataModule1.Tabela1.Locate('cliente',dbGrid1.SelectedField.Value,[]); // Aqui o form1 vai receber nos campos do dbEdit os valores da tabela Form1.dbEdit1.Text := dataModule1.tabela1Nome.Value; Form1.dbEdit2.Text := dataModule1.tabela1Endereco.Value; //E fecha o Form de Consulta Form2.Close; end; PS. Se você não estiver utilizando o DataModule, é só tirar ele do código. Vê ae....
-
Query1.Close; Query1.SQL.Clear; Query1.SQL.Add('SELECT CodPart,OS, Imei, AP, Defeito, Motivo, Data FROM DbCadOSCancel.db WHERE Data BETWEEN :data1 AND :data2'); Query1.parambyname('data1').AsString := (Edit2.text); Query1.parambyname('data2').AsString := (Edit3.text); Query1.Open; Como eu havia postado anteriormente, meu código para consulta entre datas está como o código acima...eu achei que tinha resolvido adaptando uma dica que o corposemalma postou...mas só funciona com idade.....com data apresentou problemas..... O problema surgiu depois de alguns testes...percebi que a Query só compara os dias e ignora o mês e ano, ou seja : Se eu consulto 01/08/2004 a 30/08/2004 o dbgrid mostra tudo entre o dia 01 até o dia 31 sem validar o mês e o ano, seja mês 07, mês 06 e assim sucessivamente. Alguém o que devo fazer para melhorar este código...
-
Como Consultar Por Data ? (AUTORESOLVIDO)
pergunta respondeu ao Alessandro de Alessandro em Delphi, Kylix
Consegui pessoal.... Foi mal corposemalma, eu não tinha visto a dica que você deixou lá na sessão de dicas.... eu só adaptei.... Foi muito útil....hehehe....valeu mesmo.... Meu código ficou assim : Query1.Close; Query1.SQL.Clear; Query1.SQL.Add('SELECT CodPart,OS, Imei, AP, Defeito, Motivo, Data FROM DbCadOSCancel.db WHERE Data BETWEEN :data1 AND :data2'); Query1.parambyname('data1').AsString := (Edit2.text); Query1.parambyname('data2').AsString := (Edit3.text); Query1.Open; Auto resolvido.....fechae -
Olha o beginer enchendo o saco outra vez.... Pessoal, tenho uma dúvida em relação a Query : Como faço para consultar alguns registro por data ? Sendo que eu tenho 2 edit Exemplo : 01/01/2004 a 31/01/2004. Query1.SQL.Add('SELECT CodPart,OS, Imei, AP, Defeito, Motivo, Data FROM DbCadOSCancel.db WHERE Data..... Sei que é o "Between", mas não imagino como aplicar, nos dois livros que tenho não há nenhum exemplo...alguém pode me ajudar...