Executar arquivos *.Sql (Dúvida)
E ai Galera BLZ...
Tenho uma duvida, acho que alguem pode me ajudar...
Estava trabalhando com o DataBaseDesktop, mexendo com algumas tabelas e verifiquei que exite uma opçao onde podemos criar arquivos com comandos de SQL
ele salva esse arquivo com a Extensao *.SQL
até ai beleza... achei bem legal porque assim podemos diminuir o tamanho do codigo fonte, fazendo o executavel buscar esses comandos e carregar...
Muito bem...
Como faço para que meu executável carregue esse comandos que estao no arquivo chamado (teste.sql).
espero que alguem me de um Help..
e desde já agradeço
Tenho uma duvida, acho que alguem pode me ajudar...
Estava trabalhando com o DataBaseDesktop, mexendo com algumas tabelas e verifiquei que exite uma opçao onde podemos criar arquivos com comandos de SQL
ele salva esse arquivo com a Extensao *.SQL
até ai beleza... achei bem legal porque assim podemos diminuir o tamanho do codigo fonte, fazendo o executavel buscar esses comandos e carregar...
Muito bem...
Como faço para que meu executável carregue esse comandos que estao no arquivo chamado (teste.sql).
espero que alguem me de um Help..
e desde já agradeço
Jabanildo
Curtidas 0
Respostas
Sousa_thiago
09/05/2003
Bom .. Eu estou sem delphi aki por isso não vou te mostrar um código mas vou te dar um ideia de como fazer.
Esse asquivo *.sql que ele gera é um arquivo ascii normal (texto como se fosse *.TXT) contendo comandos SQL. então vc vai abrir esse arquivo (igual como vc faz com um txt) jogar o conteudo dele para dentro da propriedade SQL da sua query e depois dar um ExecSQL nela mais ou menos assim:
abra o arquivo texto e joga o conteudo dele para uma variavel vou chamar essa variavel de TEXTO_SQL.
Query1.close;
Query1.slq.clear;
Query1.sql.add(TEXTO_SQL);
Query1.ExecSQL;
qualquer coisa se vc não conceguir me manda um e-mail que quando eu tiver tempo faço um exemplozinho e te mando.
Espero ter ajudado
Esse asquivo *.sql que ele gera é um arquivo ascii normal (texto como se fosse *.TXT) contendo comandos SQL. então vc vai abrir esse arquivo (igual como vc faz com um txt) jogar o conteudo dele para dentro da propriedade SQL da sua query e depois dar um ExecSQL nela mais ou menos assim:
abra o arquivo texto e joga o conteudo dele para uma variavel vou chamar essa variavel de TEXTO_SQL.
Query1.close;
Query1.slq.clear;
Query1.sql.add(TEXTO_SQL);
Query1.ExecSQL;
qualquer coisa se vc não conceguir me manda um e-mail que quando eu tiver tempo faço um exemplozinho e te mando.
Espero ter ajudado
GOSTEI 0
Jabanildo
09/05/2003
pelo que eu entendi, eu tenho que criar uma variavel e copiar os comandos para ela
o que eu realmente quero fazer, é dar um jeito para que os comandos da sql, fiquem, fora do meu Codigo Fonte
de alguma maneira que eu possa chama-lós e executa-los
porque o meu fonte ta enorme...
Obrigado
o que eu realmente quero fazer, é dar um jeito para que os comandos da sql, fiquem, fora do meu Codigo Fonte
de alguma maneira que eu possa chama-lós e executa-los
porque o meu fonte ta enorme...
Obrigado
GOSTEI 0
Cac2000
09/05/2003
Nada disso, é muito mais fácil vc usar:
Query1.SQL.LoadFromFile(´arquivo_de_criacao.sql´);
Query1.SQL.LoadFromFile(´arquivo_de_criacao.sql´);
GOSTEI 0
Adilsond
09/05/2003
O arquivo .sql são views para a BDE. Voce utiliza-os da seguinte forma:
1 - Gere as suas consultas e salve-as com a extensão .sql no diretório onde encontram-se suas tabelas.
2 - Para executar suas views, basta defini-las na clausula from como se fossem tabelas, inclusive utiliza-las em joins.
Pelo que entendi, o que voce deseja não é criar views. Neste caso voce pode criar os seus comandos sql e salvar em um alquivo texto com a extensão que desejas e utilizar o que o nosso amigo cac2000 informou.
1 - Gere as suas consultas e salve-as com a extensão .sql no diretório onde encontram-se suas tabelas.
2 - Para executar suas views, basta defini-las na clausula from como se fossem tabelas, inclusive utiliza-las em joins.
Pelo que entendi, o que voce deseja não é criar views. Neste caso voce pode criar os seus comandos sql e salvar em um alquivo texto com a extensão que desejas e utilizar o que o nosso amigo cac2000 informou.
GOSTEI 0
Jabanildo
09/05/2003
Nao estou conseguindo galera
estou de novo aqui incomodando
coloquei os seguintes comandos
no onclick de um botao
{Query1.Close;
Query1.SQL.Clear;
Query1.SQL.LoadFromFile(´comandos.sql´);
Query1.ExecSQL;
Query1.Open;}
e da a seguinte mensagem de erro
Query1: Field´ is od on unknown type
o arquivo comandos.sql está na mesma pasta da tabela
os comandos da sql
sao
Select numero from tabela
where numero = ´100´
quando eu compilo pelo DataBaseDesktop ela funciona normalmente
O que esta acontecendo???????
Agradeço desde já a compreençao de VC´s
estou de novo aqui incomodando
coloquei os seguintes comandos
no onclick de um botao
{Query1.Close;
Query1.SQL.Clear;
Query1.SQL.LoadFromFile(´comandos.sql´);
Query1.ExecSQL;
Query1.Open;}
e da a seguinte mensagem de erro
Query1: Field´ is od on unknown type
o arquivo comandos.sql está na mesma pasta da tabela
os comandos da sql
sao
Select numero from tabela
where numero = ´100´
quando eu compilo pelo DataBaseDesktop ela funciona normalmente
O que esta acontecendo???????
Agradeço desde já a compreençao de VC´s
GOSTEI 0
Jabanildo
09/05/2003
Será que algum de vc´s tem um exemplinho para me mandar
desde já agradeço
jabanildo@f1net.com.br
desde já agradeço
jabanildo@f1net.com.br
GOSTEI 0
Jeancamila
09/05/2003
Jabanildo,
Tente o seguinte:
crie um arquivo txt qualquer.
no button faça o seguinte
query1.Close;
query1.SQL.Clear;
query1.sql.LoadFromFile(´c:\delphi\teste.txt´);
query1.Open;
obs.: nao funcionou com o .sql não sei pq!
Jean
Tente o seguinte:
crie um arquivo txt qualquer.
no button faça o seguinte
query1.Close;
query1.SQL.Clear;
query1.sql.LoadFromFile(´c:\delphi\teste.txt´);
query1.Open;
obs.: nao funcionou com o .sql não sei pq!
Jean
GOSTEI 0
Fernando Wahl
09/05/2003
Fala Galera, tentei executar o comando citado acima mas deu o seguinte:
"ComandText does not return a result set"
o que será que estou fazendo de errado?
estou passando dessa maneira:
Exec_Query.SQL.LoadFromFile('\\\\localDesktop\\TesteSQL\\01-Teste.sql');
alguma ideia pessoal?
"ComandText does not return a result set"
o que será que estou fazendo de errado?
estou passando dessa maneira:
Exec_Query.SQL.LoadFromFile('\\\\localDesktop\\TesteSQL\\01-Teste.sql');
alguma ideia pessoal?
GOSTEI 0
Fernando Wahl
09/05/2003
ja resolvi, descobri como que faz o procedimento....não estava pssando como execsql, estava passando ope, ai não ia mesmo.
GOSTEI 0