Conexão android a MySQL
04/11/2013
0
Estou tentando fazer um hello world para conexao ao banco MySQL. Criei o seguinte Banco
tabela aluno
id:int
nome: varchar
email: varchar
Criei o seguinte main.xml
<TextView
android:id="@+id/codigo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/nome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/codigo"
android:layout_below="@+id/codigo"
android:text="TextView" />
<TextView
android:id="@+id/email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/nome"
android:layout_below="@+id/nome"
android:text="TextView" />
e coloquei o seguinte codigo.
package com.example.androidmysql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import android.os.Bundle;
import android.widget.TextView;
import android.app.Activity;
public class AndroidMysql extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final TextView email2 = (TextView) findViewById(R.id.email);
email2.setText("OLA");
try {
Connection conexao = DriverManager.getConnection("jdbc:mysql://192.168.3.112/banco", "java", "123456");
Statement stm = conexao.createStatement();
ResultSet rs = stm.executeQuery("SELECT id, nome, email FROM alunos");
final TextView codigo = (TextView) findViewById(R.id.codigo);
final TextView nome = (TextView) findViewById(R.id.nome);
final TextView email = (TextView) findViewById(R.id.email);
email.setText("OLA");
while (rs.next()) {
int coluna1 = rs.getInt("id");
String coluna2 = rs.getString("nome");
String coluna3 = rs.getString("email");
codigo.setText("OLA");
codigo.setText(String.valueOf(coluna1));
nome.setText(coluna2);
email.setText(String.valueOf(coluna3));
email.setText("ola");
}
}
catch (SQLException sqle) {
System.out.println(sqle.getMessage());
}
}
}
o codigo
final TextView email2 = (TextView) findViewById(R.id.email);
email2.setText("OLA");
Funciona mas o que estta dentro do try não
email.setText(String.valueOf(coluna3));
email.setText("ola");
Notei pelo debug que ele traz os dados do banco só que não consigo imprimir no TextView. Alguém já passou por isso?
Att.
Ricardo Barbosa
Post mais votado
04/11/2013
package br.com.lemarq.licencas; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.util.Log; public class DbHelper extends Activity { private String driver; private String url; private String user; private String password; //-- CRIANDO CONEXOES public static Connection conn; public static Statement stmt; public static ResultSet rs; public DbHelper() { driver = "com.mysql.jdbc.Driver"; url = "jdbc:mysql://198.98.121.136:3306/licenca"; user = "root"; password = "senha"; } public void fechaBD() throws Exception { conn.close(); } public boolean conectaBD() throws Exception { try { Class.forName(driver); Log.w("BLOQUEIO","TUDO OK COM CLASS.FORNAME"); } catch (Exception e) { Log.w("BLOQUEIO","NAO FUNCIONOU O CLASS.FORNAME"); } try { conn = DriverManager.getConnection(url,user,password); Log.w("BLOQUEIO","TUDO OK COM O DRIVER.MANAGER"); } catch (Exception e) { Log.w("BLOQUEIO","NAO FUNCIONOU O DRIVER.MANAGER"); } try { stmt = conn.createStatement(); Log.w("BLOQUEIO","TUDO OK COM O CREATESTATEMENT"); } catch (Exception e) { Log.w("BLOQUEIO","NAO FUNCIONOU O CREATESTATEMENT"); } return true; } public List<String> listaBloqueada() { List<String> lista = new ArrayList<String>(); try{ Log.w("BLOQUEIO","INICIANDO... stmt.executeQuery"); rs = stmt.executeQuery("select * from bloqueio order by nm_cli"); Log.w("BLOQUEIO","INICIANDO... while"); while (rs.next()) { lista.add(rs.getString("nm_cli")); Log.w("BLOQUEIO",rs.getString("nm_cli")); //+ " " +rs.getString("nm_cli") + " " + rs.getString("dt_bloqueio")); } Log.w("BLOQUEIO","ACABOU..."); rs.close(); stmt.close(); return lista; } catch (Exception erro){ Log.w("BLOQUEIO","NAO FUNCIONOU..."); } return lista; }
Coloquei um Log para verificar o funcionamento.
Não funcionou o comando do ClassForName, DriverManager e createStatement. Embora usando o mysqlfront consigo me conectar normalmente.
Lemos Ltda
Mais Posts
05/11/2013
Ricardo Barbosa
Log.w("BLOQUEIO","NAO FUNCIONOU O DRIVER.MANAGER");
e manda escrever num textview tipo
textview.setText(sqle.getMessage());
O meu mostra "No suitable driver" parece que ele não reconhece a o .jar do jdbc mesmo passando no classpath, ve se acontece isso com vc.
Att.
06/11/2013
Lemos Ltda
06/11/2013
Ricardo Barbosa
09/12/2013
Ricardo Barbosa
Att.
10/12/2013
Mury Contabil
25/03/2014
André Machado
o meu deu o seguinte :
communications link failure
the last packet sent sucessfully to the server was 0 milliseconds ago. The driver has not received any packets from the server
vcs sabem qual o problema e como resolver ?
obrigado.
02/05/2014
Herbert Roberto
Alguém que saiba como resolver o problema?
29/10/2014
Frederico Brigatte***
29/01/2015
André Machado
Sobre o erro "No suitable driver", é falta do "mysql-connection.jar" inclua ele na sua biblioteca.
Eu sugiro que faça uma classe só para a conexão chame ela, assim fica mais tranquilo, que após aberto a conexão e retornado os dados, é bom fechar a conexão.
abaixo segue um exemplo :
public class conexaomysql {
public Connection conectar{
Connection conexao = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conexao = DriverManager.getConnection("jdbc:mysql://192.168.3.112/banco", "java", "123456");
}catch (exception e){
System.out.println("Erro: ",e.getMessage);
return null
}
return conexao;
}
public void FecharConexao(Connection conexao, Statement stm , ResultSet rs){
try {
if (conexao != null)
conexao.close();
if (stm != null)
stm.close()
if (rs != null)
rs.close();
}catch(exception e){
System.out.println("erro ao fechar");
}
}
}
public class Alunos_modelo {
private int id;
private String nome;
private String email;
public void setId(int id) {
this.id = id;
}
public getId(){
return this.id;
}
...
/*
faça os metodos get e set para todos os campos
*/
}
public Class Alunos {
public ArrayList<Alunos_Modelo> getAlunos() {
Connection conexao = null
Statement stm = null;
ResultSet rs = null;
public ArrayList<Alunos_modelo> a = new ArrayList<Alunos_modelo>();
Alunos_modelo alunos = null;
try {
Connection conexao = conexaomysql.conectar();
Statement stm = conexao.createStatement();
ResultSet rs = stm.executeQuery("SELECT id, nome, email FROM alunos");
while (rs.next()) {
alunos = new Alunos_modelo();
alunos.setId(rs.getInt("id");
alunos.setNome(rs.getString("nome");
...
a.add(alunos);
}
} catch(exception e){
System.out.println("erro");
return null
}finally {
conexaomysql.fechar(conexao,stm,rs);
}
return a;
}
}
espero que ajude.
12/11/2015
Camara Campos
package com.example.denuncia;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import android.os.Bundle;
public class MyConnection {
public Object con;
public void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_main);// R.layout.activity_main);
setContentView(R.id.SelecionarArquivo);// R.id.txtArquivo);
setContentView(R.id.botaoOk);// R.id.botaoOk);
}
private void setContentView(int activityMain) {
// TODO Auto-generated method stub
}
// cria conexao com o banco de dados
public void createConnection(String banco) throws Exception {
try {
// instanciando o driver
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://mysql.shakespearecarvalho.com.br/" + banco,
"usuário", "senha");
}
catch (ClassNotFoundException e) {
throw new Exception("Driver nao encontrado");
} catch (SQLException e) {
throw new Exception("Erro com o banco de dados");
}
}
// fecha a conexao
public void closeConnection() throws Exception {
try {
Connection con = null;
con.close();
} catch (SQLException e) {
throw new Exception("Nao foi possivel fechar a conexao");
}
}
}
19/12/2020
Oscar
Implantando o mesmo script que tem nessa dúvida.
O meu script está ótimo e sem erros o problema dele é só este:
Alguém pode me explicar como instalar 'com.mysql.jdbc.Driver'?
Já criei 500 bibliotecas inseri 500 jar, e ele dá o mesmo erro?
Quem fez a instalação do jar pode me dizer como fez?
Preciso saber : primeiro : Onde buscar este jar.
seguindo: onde deve estar o ponteiro do mouse para clcar com o botão direito para abrir uma pasta de no lib , caso seja isso.
Após eu copiar o aruivo baxodo do local indicado nesta pasta indicada.
terceiro: como digo ao meu script que este jar está aqui nesta pasta.
Alguém pode me dizer isso tudo, sem responder com outra pergunta?
Ps. Não preciso de scripts, já tenho 500 scripts, eu só quero saber como instalar 'com.mysql.jdbc.Driver'? Podem ajudar?
19/12/2020
Oscar
Implantando o mesmo script que tem nessa dúvida.
O meu script está ótimo e sem erros o problema dele é só este:
Alguém pode me explicar como instalar 'com.mysql.jdbc.Driver'?
Já criei 500 bibliotecas inseri 500 jar, e ele dá o mesmo erro?
Quem fez a instalação do jar pode me dizer como fez?
Preciso saber : primeiro : Onde buscar este jar.
seguindo: onde deve estar o ponteiro do mouse para clcar com o botão direito para abrir uma pasta de no lib , caso seja isso.
Após eu copiar o aruivo baxodo do local indicado nesta pasta indicada.
terceiro: como digo ao meu script que este jar está aqui nesta pasta.
Alguém pode me dizer isso tudo, sem responder com outra pergunta?
Ps. Não preciso de scripts, já tenho 500 scripts, eu só quero saber como instalar 'com.mysql.jdbc.Driver'? Podem ajudar?
19/12/2020
Oscar
Implantando o mesmo script que tem nessa dúvida.
O meu script está ótimo e sem erros o problema dele é só este:
Alguém pode me explicar como instalar 'com.mysql.jdbc.Driver'?
Já criei 500 bibliotecas inseri 500 jar, e ele dá o mesmo erro?
Quem fez a instalação do jar pode me dizer como fez?
Preciso saber : primeiro : Onde buscar este jar.
seguindo: onde deve estar o ponteiro do mouse para clcar com o botão direito para abrir uma pasta de no lib , caso seja isso.
Após eu copiar o aruivo baxodo do local indicado nesta pasta indicada.
terceiro: como digo ao meu script que este jar está aqui nesta pasta.
Alguém pode me dizer isso tudo, sem responder com outra pergunta?
Ps. Não preciso de scripts, já tenho 500 scripts, eu só quero saber como instalar 'com.mysql.jdbc.Driver'? Podem ajudar?
19/12/2020
Oscar
Implantando o mesmo script que tem nessa dúvida.
O meu script está ótimo e sem erros o problema dele é só este:
Alguém pode me explicar como instalar 'com.mysql.jdbc.Driver'?
Já criei 500 bibliotecas inseri 500 jar, e ele dá o mesmo erro?
Quem fez a instalação do jar pode me dizer como fez?
Preciso saber : primeiro : Onde buscar este jar.
seguindo: onde deve estar o ponteiro do mouse para clcar com o botão direito para abrir uma pasta de no lib , caso seja isso.
Após eu copiar o aruivo baxodo do local indicado nesta pasta indicada.
terceiro: como digo ao meu script que este jar está aqui nesta pasta.
Alguém pode me dizer isso tudo, sem responder com outra pergunta?
Ps. Não preciso de scripts, já tenho 500 scripts, eu só quero saber como instalar 'com.mysql.jdbc.Driver'? Podem ajudar?
Clique aqui para fazer login e interagir na Comunidade :)