Ja que esse forum esta me tirando todas as duvidas sobre java e agradeço muito por isso, to dinovo aqui pra pedir mais uma ajudinha se possivel!!!
Estou com o seguinte código:
importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.SQLException;importjava.text.Format;importjava.text.SimpleDateFormat;importjava.util.Calendar;publicclassAgregados_Vitalicios{publicstaticvoidmain(String[]args){Calendaragora=Calendar.getInstance();Formatformato=newSimpleDateFormat("ddMMyyyy");Stringda=formato.format(agora.getTime());try{Class.forName("net.sourceforge.jtds.jdbc.Driver");Connectioncon=DriverManager.getConnection("jdbc:jtds:sqlserver://WA-TI05:1433;namedPipe=true","sa","");System.out.println("Conectado");PreparedStatementpstmt=con.prepareStatement("SELECT * INTO TBD_PESTALOZZI_FILA_ENVIO_'?'_BKP FROM TBD_PESTALOZZI_FILA_ENVIO");pstmt.setString(1,da);pstmt.execute();con.close();}catch(ClassNotFoundExceptione){e.printStackTrace();}catch(SQLExceptione){e.printStackTrace();}}}
esta apresentando o seguinte error:
Conectado
java.sql.SQLException: Invalid parameter index 1.
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.getParameter(JtdsPreparedStatement.java:340)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setParameter(JtdsPreparedStatement.java:409)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setString(JtdsPreparedStatement.java:689)
at Agregados_Vitalicios.main(Agregados_Vitalicios.java:26)
acredito que seja algo abaixo da linha do comando sql.
sera que alguem poderia me ajudar a resolver esse erro?
Tirando que tu quis dizer “de novo” ao invés de “dinovo”, o erro é o seu INSERT.
Veja:
"SELECT * INTO TBD_PESTALOZZI_FILA_ENVIO_'?'_BKP FROM TBD_PESTALOZZI_FILA_ENVIO"
Primeiro que baita nome de tabela hein ? E outra, como tu quer adicionar algo no meio do nome da tabela ???
Veja a syntax correta do uso do Insert: http://www.w3schools.com/sql/sql_insert.asp
L
LipezinSouza
Mas acontece que em VB fiz o mesmo programa e funciona, so quero muda-lo para o formato em java.
e ja fiz outros programas em java que usam comandos assim, so estou tendo problemas com a colocação da data no comando sql!!
pelo visto não pode me ajudar, vou aguardar alguém que saiba fazer pra poder me ajudar !!!
Quanto ao “dinovo”, quem nunca escreveu errado atire a primeira pedra !!!
MarcioCasteloBranco
Bom dia Amigão
Calendaragora=Calendar.getInstance();Formatformato=newSimpleDateFormat("ddMMyyyy");Stringda=formato.format(agora.getTime());Stringquery="SELECT * INTO TBD_PESTALOZZI_FILA_ENVIO_"+da+"_BKP FROM TBD_PESTALOZZI_FILA_ENVIO";try{Class.forName("net.sourceforge.jtds.jdbc.Driver");Connectioncon=DriverManager.getConnection("jdbc:jtds:sqlserver://WA-TI05:1433;namedPipe=true","sa","");System.out.println("Conectado");Statementstm=conn.createStatement();ResultSetrs=stm.executeQuery(query);con.close();}catch(ClassNotFoundExceptione){e.printStackTrace();}catch(SQLExceptione){e.printStackTrace();}
Desculpe a minha falta de conhecimento é que começei 1 estagio e perguntei ao meu chefe se podia usar java pra poder aprender e ele disse q sim, esse comando sql é 1 comando que ele mesmo me passo, fiz em vb6, e gostaria de passar pra java, esse lance do backup q eu n entendi, o comando sql ele só faz um backup?
nel
LipezinSouza:
Mas acontece que em VB fiz o mesmo programa e funciona, so quero muda-lo para o formato em java.
e ja fiz outros programas em java que usam comandos assim, so estou tendo problemas com a colocação da data no comando sql!!
pelo visto não pode me ajudar, vou aguardar alguém que saiba fazer pra poder me ajudar !!!
Quanto ao “dinovo”, quem nunca escreveu errado atire a primeira pedra !!!
VB não é Java. Se tu não conhece PreparedStatement e/ou JDBC, leia sobre tal.
Fiz uma crítica saudável, é importante que saibamos escrever, infelizmente na atualidade a internet tem prejudicado a escrita, o que pode atrapalhar em um futuro próximo.
Nel quando utilizar o
view plaincopy to clipboardprint?
select * into tb_temp from tb_fisica
e so uma maneira de criar backup de uma tabela.
Vc poderia dar uma olhada http://www.w3schools.com/sql/sql_select_into.asp
ABÇ
Eu sei disso. Só achei extenso o nome da tabela dele, nada além. O erro dele foi usar PreparedStatement para setar o nome da tabela.
MarcioCasteloBranco
Perdão me expressei errado não é backup, e não precisa se DESCULPAR pos a vida éum eterno apredizado.
A instrução SELECT INTO cria uma tabela e a popula com o conjunto de resultados da instrução SELECT. A instrução SELECT INTO pode ser usada para combinar dados de várias tabelas ou exibições em uma única tabela. Também pode ser usada para criar uma tabela que contenha dados selecionados de um servidor vinculado.
L
LipezinSouza
coloquei do geito q vc falo :
PreparedStatement pstmt = con
.prepareStatement("SELECT * INTO TBD_PESTALOZZI_FILA_ENVIO_"
+ da + "_BKP FROM TBD_PESTALOZZI_FILA_ENVIO");
pstmt.setString(1, da);
pstmt.execute();
PreparedStatement pstmt = con
.prepareStatement("SELECT * INTO TBD_PESTALOZZI_FILA_ENVIO_"
+ da + "_BKP FROM TBD_PESTALOZZI_FILA_ENVIO");
// pstmt.setString(1, da);
pstmt.execute();
Lipezin tenta assim!
L
LipezinSouza
AEW AMIGO FOI SIM, Q BURRO Q EU SO, LOGICO Q TINHA Q TIRAR AQUELA LINHA, JA TAVA APONTANDO PRA VARIAVEL, BOM ESSE ERA O PRIMEIRO PROBLEMA QUE FOI RESOLVIDO, AGORA FALTA O 2 PROBLEMA, O CODIGO EU SEI Q ESTA CERTO, MAS FALTA UMA COISA:
ele n acha essa tabela, mas ele nao acha pois a DATABASE que esse programa aponta é a Database “master”, esse comando é para ser inserido na Database “SCC_PESTALOZZI”, sera que alguem sabe como eu indico em qual Database esse comando deve ser utilizado?
MarcioCasteloBranco
Bom temos que verificar se existe esta TABELA TBD_PESTALOZZI_FILA_ENVIO!
L
LipezinSouza
EXISTE SIM AMIGO, EU TAVA USANDO O CODIGO Q COLOQUEI NO JAVA, LA NA QUERY, E FUNCIONOU, SO N SEI COMO Q FAÇO PRAO JAVA INDICAR EM QUAL DATABASE DEVE INSERIR O CODIGO