
Micheus
Veteranos-
Total de itens
3.189 -
Registro em
-
Última visita
Tudo que Micheus postou
-
pode ser, mas não seria necessário nem elegante - você só faz uso delas naquele procedimento, então, deveria definir dentro dele:procedure TForm1.BitBtn1Click(Sender: TObject); var S, S1 :String; begin modulo.table1query.first; ... imagino que ele esta querendo dizer a voce que esta seria a query ref. a table1 acho que está claro que não. Note que ele adiciona a propriedade SQL, da auxquery, S+S1 (sql.add(s1+s);). Bom, o felipe tentou lhe passar o "espírito da coisa" não ela pronta (dá para ver que foi na intuição - tanto que apareceram alguns probleminhas). Mas já que você não captou 100%, vou exemplificar, levando em conta o que já citei no post anterior. Como voce não deu o nome das tabelas, então vou tratá-las como TABLE1 e TABLE2 procedure TForm1.BitBtn1Click(Sender: TObject); begin // preparando a querie de inserção QueryAux.SQL.Clear; QueryAux.SQL.Add('insert into TABLE2(codigo, mercadoria, preço)'); QueryAux.SQL.Add('values (:codigo, :mercadoria, :preço)'); // * observe que não tem c-cedilia (o forum é que troca o c) Table1.First; // *** Este Table1 pode ser um TTable ou TQuery - fica a sua escolha while not Table1.EOF do begin QueryAux.ParamByName('codigo').AsInteger := Table1CODIGO.AsInteger; // * se o campo não foi adicionado // em design-time, use Table1.FieldByName('codigo').AsInteger QueryAux.ParamByName('mercadoria').AsString := Table1MERCADORIA.AsString; QueryAux.ParamByName('preço').AsFloat := Table1PRECO.AsFloat; QueryAux.ExecSQL; Table1.Next; end; end; se você usa datamodule, então tem que preceder todos os dataset's (table ou query) com o nome do datamodulo (o felipe citou modulo.table1...)
-
Aplicativo Perde Funcionalidades Se Logon Não For De Administrador, po
pergunta respondeu ao Xcorpion de Micheus em Delphi, Kylix
apesar da questão de funcionar com o usuário administrador, ainda acho que o problema pode ter outra origem (talvez algum tipo de configuração associado ao usuário, sei lá). Só acho que não parece lógico que se tenha dar direitos especiais ou de administrador para que um grid funcione. Tá estranho. -
agora chegamos na questão!Esta questão da resolução do erro de compilação, já poderia ter sido sanado lá no post#8 e tivemos que chegar até o post#14 <_< Bom, se você souber depurar (utilizar break-point e tal), você poderá observar que o que eu mencionei no post anterior, então, é verdade: "Mas, tenho quase certeza de que RecNo para estes componentes, retornará sempre -1" Logo, é por isso que não acontece nada - o Odd(-1) retorna sempre o mesmo resultado, logo não há o efeito zebrado. Alternativa? Bom, eu teria que pesquisar, porque se não me engano já vi uma - só não lembro onde.
-
Obrigado pelas informações robinhocne.A propriedade RecNo existe nos componentes da paleta IB, então tem algum "gato" aí. É impressão minha ou FDtmIza é o nome do datamodule? Se for, onde está a referência a seu dataset em odd(FDtmIza.RecNo)? Não estaria faltando algo aí no meio: odd(FDtmIza.<nome dataset>.RecNo)? Mas, tenho quase certeza de que RecNo para estes componentes, retornará sempre -1 - é conferir...
-
Duvidas Com Codigo E Relacionamento De Tabelas
pergunta respondeu ao vms de Micheus em Delphi, Kylix
vms, está lá na primeira linha do exemplo: um UPDATE.Mas, como sempre, gosto de sugerir que não seja utilizado concatenação dos valores. Trabalhe com parametrização (parâmetros) - isto pode evitar muita dor de cabeça em alguns casos. Então, cultivar este hábito pode ser salutar. -
vms, a linha não está corretamente definida: while modulo.table1query not eof do begin deve ficar assim: while not modulo.table1query.eof do begin Também, verifique se você não terá erro na execução da query (ao chamar ExecSQL), por conta da formatação do campo PREÇO (o tal R$). Pelo uso do modo concatenação, ao utilizar AsString, se definida a propriedade DisplayFormat com R$, a string de inserção poder ficar inválida. Por exemplo, para o primeiro registro exemplificado ficaria assim: insert into modulo.table2(codigo,mercadoria,preço) values (001, feijao, R$ 1,00) Fora o fato que o campo texto mercadoria, foi concatenado sem as aspas que denotam um valor string. Esteja atento a estas questões. Abraços
-
eu não saberia informar não, mas já vi uns tópicos sobre problemas relacionados a questão BDE x Windows, que eventualmente podem vir a serem uteis:BDE x Windows (ref. DevMedia) PDOXUSRS.NET, erro no Windows Vista (ref. delphi-br)
-
não era para ser FDtmIza.Praticas.RecNo? RecNo é uma propriedade do seu dataset (table ou query) em questão
-
(Resolvido) Como Exportar / Importar Dados Com Delphi/excel?
uma questão respondeu Micheus em Delphi, Kylix
felipe e Lívio, se algum de vocês esqueceu a senha para acesso ao forum, para restaurá-la acessem este link Abraços -
Dá uma olhada neste post e neste outro. Isso já é pergunta velha aqui no forum ;)
-
isso vai ser complicado... bem, quando você utiliza o Quickreport para o relatório, você não tem que fazer este loop com while - isso é coisa de relatório no esquema do DOS. nessa "relação" membro/dependente não há um campo de relacionamento (tipo, no dependente apontando para o membro)? ela é feita pelos campos CEP, NUM_CASA, COMPLEMENTO? Como você pretende que seja o resultado do seu relatório. Aparentemente você quer listar os registros ordenados pelo campo NOME. é isto? estou achando que você está complicando as coisas mais do que precisa, só que faltam estas informações para avaliar. por favor observe minhas edições em seus post: utilize as tag [_CODE] código do seu programa _")
-
jo_user, voce pode trabalhar com uma banda detail para listar os dados dos representantes e uma banda subdetail para os dados do pedido. Dê uma olhada neste post que fala sobre mestre/detalhe (detail/subdetail)
-
o erro diz que não há um identificador Praticas (pelo seu código uma tabela ou query) definido em FDtmIza (isto deveria ser um form ou datamodule - o que é?)
-
faz tempo que não mexo com SQLSever, mas você não conseguiria implementar dentro da trigger algo como: ... IF (SELECT COUNT(*) FROM inserted) > 0 BEGIN -- testar ser algum dos itens inseridos já está na base de dados IF (SELECT COUNT(*) FROM inserted WHERE exists(SELECT 1 FROM <tabela> WHERE <tabela>.<campo> =inserted.<campo>)) > 0 BEGIN RAISERROR('Um item já existe. Inclusão cancelada.',16,1); -- gera uma exceção personalizada ROLLBACK; -- desfaz qualquer ação na transação corrente RETURN; -- evita que linhas posteriores sejam executadas END END lembro-me que a trigger não é disparada para cada item incluído, assim se faz necessário tratar inserted como uma possível lista de linhas. Se este exemplo puder ser implementado, ele estará cancelando a inclusão de todas as linhas, mesmo que apenas uma já exista. Mas, se isto não for desejado, então teria que ser implementado algum tipo de loop (se não estou enganado utilizando cursor) para avaliar cada item da lista em inserted Espero ter colaborado.
-
o tipo de dados TEXT/BLOB são utilizados para armazenar "grande" quantidade de informação (o banco cria com um tamanho x, e a medida que a informação crescendo, o banco aloca mais espaço/blocos para ele) e não são utilizados em índices. O tipo TEXT são normalmente utilizados em campos descritivos como um texto, observações que são acrescidas ao longo do tempo... O tipo BLOB é comum o uso para armazenamento de dados binários - como imagens. (neste post, tem uns links que podem ser úteis) Em campos como os que você declarou, é sabido de ante-mão o seu tamanho e nestes casos é comum utilizar VARCHAR(<tamanho>). Por ex. um campo para armazenar CNPJ precisa de 16 caracteres de espaço para armazenar inclusive os carecteres "/" e "-", então a definição seria um VARCHAR(16). Se não fossem armazenados os caracteres citados, seria VARCHAR(14). O nome de uma pesso, empresa e outros, podem ter um valor pré-estabelecido, então você segue o mesmo raciocínio. Para o correto relacionamento entre as tabelas, os campos relacionados devem ser do mesmo tipo e tamanho, em ambas as tabelas. Que eu saiba não há qualquer restrição neste sentido (claro deve haver um limite, mas nada que se atinja facilmente).
-
Como está definido o campo que é chave primária da sua tabela PESSOA_FISICA - é VARCHAR? Que tamanho? (Imagino que se vai concatenar, este campo deve ser "string")É necessário que seja um campo único? Voce não poderia ter os 4 campos na sua tabela PESSOA_FISICA e criar uma chave primária COMPOSTA ao invés de um único campo CONCATENADO? Se você definiu relacionamento entre estas tabelas, muito provavelmente estes campos existem separadamente.
-
Ai no final da página coloquei esse código novamente: AWD, não estaria justamente aqui o problema com a segunda consulta? Se você na primeira consulta, atribui à variável $busca a instrução SELECT baseada no valor inicial de $busca (vindo do formulário), parece-me que este novo valor (comando SQL) é que será "introduzido" na sua segunda consulta. Supondo que eu esteja correto, haveriam duas possibilidades: 1) definir uma variável para cada consulta, ao invés de "reaproveitar" a variável $busca. Algo como: $sqlBusca1 = "SELECT titulo FROM noticias_brasil where titulo LIKE '%%$busca%%'"; (na primeira parte) $sqlBusca2 = "SELECT titulo FROM noticias_brasil where titulo LIKE '%%$busca%%'"; (na segunda parte) 2) como o campo envolvido (titulo) é o mesmo em ambas as tabelas, tenho quase certeza que você poderia fazer a consulta utilizando um UNION (você precisaria testar). Neste caso, você teria apenas a primeira parte do seu código e a instrução SQL ficaria: $sqlBusca1 = "SELECT titulo FROM noticias_brasil where titulo LIKE '%%$busca%%' " . "UNION ALL " . "SELECT titulo FROM noticias_brasil where titulo LIKE '%%$busca%%'"; Não sei se coloquei direito a questão da concatenação de strings (php eu mexo só pouco) - o relevante é a idéia da coisa.
-
Este arquivo estaria associado a algum banco de dados, mesmo? Esta terminação conheço associada "digamos" assim com o mundo 3D (vi isso quando tentava mexer com Maya). Dei uma pesquisada e teria esta referência sobre o formato do arquivo: - http://udn.epicgames.com/Two/BinaryFormatSpecifications.html (o Engine do Unreal utiliza ele como um Unreal Character File)
-
shakall, você já tentou: Select * From clientes Order By extract(month from cli_data_nasc), extract(day from cli_data_nasc) kuroi, na possibilidade de o banco ser Firebird, gostaria de comentar que as funções Month e Day não estão presentes até a versão 2 (e segundo o Roadmap do ano passado, devem aparecer na versão 3 - ref. Firebird Roadmap 2006). Já se for Interbase, eu não tenho o que comentar. Sei que existem UDF's que oferecem estes tipos de fuções. Abraços
-
Muito legal mesmo. Inclusive os sites no folio. Mas me diga uma coisa, lá no site B2, é impressão minha ou o cara só consegue seguir ser clicar dentro da "bola" com o 2? Pelo menos foi como acessei o conteúdo. (estou utilizando o Firefox) Se for realmente isso, não há nada que indique isto - tipo o cursor do mouse "dar algum sinal" - captou?! Parabéns!
-
Já experimentou remover e reinstalar (ou baixar um driver do site do fabricante) o driver dela. Esses dias instalei um programa para um pessoal, utilizando o ReportBuilder. Um belo dia o pessoal me disse que o programa estava com problema, porque eles conseguiam fazer a visualização do relatório, mas quando mandavam imprimir, nada acontecia (não dava erro e nem para o spool ia). Porém, com qualquer outra aplicação continuava funcionando - imprimiam documentos do Word e Excel! Bom, como não acredito em eventualidade (em casa estava tudo normal com a versão), sugeri que a impressora fosse eliminada e novamente adicionada. Resultado? Voltou a funcionar. Passou-se um tempo e novamente ocorreu. Novamente reinstalaram a impressora e continua funcionando até hoje - já tem uns meses. Vai entender?!
-
Eu sei que ao clicar no [...] da propriedade Database name, realmente a caixa de diálogo tenta localizar a extensão padrão do Interbase (.GDB), mas se voce colocar um *.FDB no edit Nome do arquivo da caixa Abrir que é apresentada, você deverá poder selecionar o seu arquivo FB. Já tentou?
-
antes de qualquer coisa, uma pergunta: Você teve algum problema no uso do Firebird 2 com os componentes da paleta Interbase ou foi apenas uma opção pessoal? (atualmente eu uso FB 1.5.3, mas pretendo migrar)
-
Duvidas Com Codigo E Relacionamento De Tabelas
pergunta respondeu ao vms de Micheus em Delphi, Kylix
exatamente felipe, paradox não sá suporte a TRIGGERS - tem que ser no código mesmo. apenas um adendo: para instruções como INSERT, UPDATE e DELETE no SQL (ou seja, instruções que não tenham resultado - como um SELECT) você deve utilizar o método ExecSQL e não Open. Assim, a linha:dm.auxquery.Open; deve ser substituida por dm.auxquery.ExecSQL; Abraços -
deve ser coisa do seu anti-virus - aqui em casa baixei sem problemas. Tenta baixar deste link (eu renomeei o ".exe" para ".ex_")