Ir para conteúdo
  • 0

[Resolvido] [Dúvida] Salvar argumentos do comando em mysql


Kami

Pergunta

Oi. Estou tentando fazer o seguinte:


Quando o jogador digitar: /add alo oi oi


quero que os argumentos sejam guardados na coluna "motivo", o nome do jogador(no caso o sender) seja guardado na coluna "nome" e seu UUID na coluna "id".


 


Atualmente meu código está assim:


 


Classe bd


método conectar



public void conectar(){
final String driver = "com.mysql.jdbc.Driver";
final String url = "jdbc:mysql://"+urlconf +":3306/" + dbname;

try{
Class.forName(driver);
con = DriverManager.getConnection(url, user, senha);
}catch(ClassNotFoundException erro){
System.out.println("Driver não encontrado." + erro.toString());
}catch(SQLException erro){
System.out.println("Ocorreu um erro ao tentar se conectar com o banco de dados." + erro.toString());
}
}

Classe bd


método add



public void add(){
try{
conectar();
s = con.createStatement();
s.executeUpdate("insert into teste"
+" (id, nome, motivo)"
+" values"
+" (?, ?, ?);" );
s.close();
con.close();
System.out.println("Sucesso");

}catch(SQLException e){
System.out.println(e.toString());

}

}

Classe main


parte do comando



@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
bd BD = new bd();
if(command.getName().equalsIgnoreCase("add")){
BD.add();


}


return false;
}

O código funciona certinho se eu defino no método add um nome qualquer um id aleatório e um motivo qualquer, mas eu quero que ele pegue os dados do jogador. Não sei como fazer e.e


 


Obrigado <3


Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

Não entendi direto sua resposta, sim eu que fiz.

Como criar esse método add? E o que eu devo trocar no cod sql?

exemplo este e seu cod add:

public void add(){
		try{
		conectar();
	    s = con.createStatement();
	    s.executeUpdate("insert into teste"
	    		       +" (id, nome, motivo)"
	    		       +" values"
	    		       +" (?, ?, ?);" );
	    s.close();
	    con.close();
	    System.out.println("Sucesso");
		  
		}catch(SQLException e){
			System.out.println(e.toString());
			
		}
		
	}

basta vc adicionar:

 

uns valores que esse método recebe e substituir no inset:

public void add(String value, String values){
		try{
		conectar();
	    s = con.createStatement();
	    s.executeUpdate("insert into teste"
	    		       +" (" + value + ")"
	    		       +" values"
	    		       +" (" + values + ");" );
	    s.close();
	    con.close();
	    System.out.println("Sucesso");
		  
		}catch(SQLException e){
			System.out.println(e.toString());
			
		}
		
	}

como usar?

 

add("Colunax, Colunay, Colunaz", "'valorx', 'valory', 'valorz'");

Link para o comentário
Compartilhar em outros sites

			String arg="";
			for(int i=0; i<args.length;i++){
				arg=arg+args[i]+" ";
			}
			System.out.println(arg);

Coloca esse cód ai... ;)

 

Dessa parte eu tava ligado, mas e a do mysql? .-.

Link para o comentário
Compartilhar em outros sites

Dessa parte eu tava ligado, mas e a do mysql? .-.

Tipo você quem fez aqueles cod em sql ou pego em algum lugar?

 

se vc fez então deveria saber que aquele add ae tem um insert e so tu coloca pro seu insert inseri os valores.

 

mais como tiro os calores do comando e mando pra la?

 

filho seguinte cria um metodo que recebe x valores exemplo: add(String, int, boolean, double) bla bla bla e bem facil '-'

Link para o comentário
Compartilhar em outros sites

Tipo você quem fez aqueles cod em sql ou pego em algum lugar?

 

se vc fez então deveria saber que aquele add ae tem um insert e so tu coloca pro seu insert inseri os valores.

 

mais como tiro os calores do comando e mando pra la?

 

filho seguinte cria um metodo que recebe x valores exemplo: add(String, int, boolean, double) bla bla bla e bem facil '-'

Não entendi direto sua resposta, sim eu que fiz.

Como criar esse método add? E o que eu devo trocar no cod sql?

Link para o comentário
Compartilhar em outros sites

			String arg="";
			for(int i=0; i<args.length;i++){
				arg=arg+args[i]+" ";
			}
			System.out.println(arg);

Coloca esse cód ai... ;)

 

Acho que da pra fazer mais fácil assim:

 

String arg = Arrays.toString(args).replace("[", "").replace("]", "").replace(",", "");
Link para o comentário
Compartilhar em outros sites

exemplo este e seu cod add:

public void add(){
		try{
		conectar();
	    s = con.createStatement();
	    s.executeUpdate("insert into teste"
	    		       +" (id, nome, motivo)"
	    		       +" values"
	    		       +" (?, ?, ?);" );
	    s.close();
	    con.close();
	    System.out.println("Sucesso");
		  
		}catch(SQLException e){
			System.out.println(e.toString());
			
		}
		
	}

basta vc adicionar:

 

uns valores que esse método recebe e substituir no inset:

public void add(String value, String values){
		try{
		conectar();
	    s = con.createStatement();
	    s.executeUpdate("insert into teste"
	    		       +" (" + value + ")"
	    		       +" values"
	    		       +" (" + values + ");" );
	    s.close();
	    con.close();
	    System.out.println("Sucesso");
		  
		}catch(SQLException e){
			System.out.println(e.toString());
			
		}
		
	}

como usar?

 

add("Colunax, Colunay, Colunaz", "'valorx', 'valory', 'valorz'");

Dei uma alterada pra funcionar comigo, mas é isso ai. Vlw <3

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...