gui_sv
Agosto 28, 2008, 11:06am
#1
Opa Galeraa, Blza ??
Seguinte …
estou lendo um arquivo .sql …
dentro dele contem as seguintes linhas:
[b]insert into
cliente (id, nome) values
(1, ‘Gui’);
insert into
cliente (id, nome) values
(1, 'Jao');
[/b]
Onde eu tenho como delimitador ai o ( ; ) …ler lnha a linha eu consigo … e se o statement tiver em uma linha só tbm …
Agora, eu quero montar um statment assim - insert into cliente (id, nome) values (1, ‘Gui’); para passar para PreparedStatment.
na verdade eu tenho q para qnd eu encotrar um ponto e virgula … mas enquanto isso tenho q montar o statmente em uma unica linha.
alguem pode me ajudar ??
procura por substring ou split
gui_sv
Agosto 28, 2008, 11:31am
#3
valeu…
mas por split nao da pq ele me retorna um array de String … o q nao é necessario
Existe uma solução tosca e bem simples para o que tu quer fazer…
Tu pode criar um StringBuffer e sair concatenando todos os carcteres que vc encontra. Se vc encontrar um ‘;’ vc fecha o buffer e retorna a string.
[]'s
gui_sv
Agosto 28, 2008, 12:10pm
#5
boa …
a principio to tentando resolver com StringBuffer … heheh
mas pq entao seria tosca ?!?!
Use a classe java.util.Scanner… No javadoc você tem alguns exemplos…
Scanner s = new Scanner(new File(input.sql)).useDelimiter(";");
System.out.println(s.next());
s.close();
Que neste caso iria retornar:
insert into
cliente (id, nome) values
(1, ‘Gui’);
[quote=gui_sv]boa …
a principio to tentando resolver com StringBuffer … heheh
mas pq entao seria tosca ?!?![/quote]
É que como você acaba usando “força bruta” meio que parece tosco. Acho que a solução do cristianosanchez seja mais interessante! =D
gui_sv
Agosto 28, 2008, 12:33pm
#8
[quote=cristianosanchez]Use a classe java.util.Scanner… No javadoc você tem alguns exemplos…
Scanner s = new Scanner(new File(input.sql)).useDelimiter(";");
System.out.println(s.next());
s.close();
Que neste caso iria retornar:
insert into
cliente (id, nome) values
(1, ‘Gui’);
[/quote]
entendi … vou testar sua solução …
qq duvida volto a postar …
galera … obrigado a todos !!!
gui_sv
Agosto 28, 2008, 12:52pm
#9
[quote=cristianosanchez]Use a classe java.util.Scanner… No javadoc você tem alguns exemplos…
Scanner s = new Scanner(new File(input.sql)).useDelimiter(";");
System.out.println(s.next());
s.close();
Que neste caso iria retornar:
insert into
cliente (id, nome) values
(1, ‘Gui’);
[/quote]
Perfeito … funciona direitinho … !!!
obrigado caraaa …