Boa Noite…
Eu criei uma conexão com o bando de dados SQL Server que está conectando ok. Agora preciso criar uma classe para ver, inserir, etc… em uma tablela JÀ EXISTENTE no banco.
Não faço a mìnima ideia como para mexer nessa tabela.
Sei como criar uma nova tabela, mais não ver uma que já existe.
Será que alguem pode me ajudar?
Tô apanhando muito… :roll:
Obrigada
Aprenda SQL
http://www.w3schools.com/sql/default.asp
Vc pode usar a clausula INSERT – de uma olhada na apostila fj-21 da caelum no primeiro capitulo:
Da uma olhada nas classes e ve se ajuda
[code]public class DAO {
DB db = new DB();
private Connection con;
private Modelo modelo;
public DAO(Modelo modelo) {
this.modelo = modelo;
con = db.getConnection();
}
public boolean insert() {
Statement stm = null;
String SQL = "insert into x (a, b, c, d) values ";
String valores = "('" + modelo.getA() + ",'" + modelo.getB() + ",'" + modelo.getC() + ",'" + modelo.getD() + ")";
SQL += valores;
boolean ok = false;
try {
stm = con.createStatement();
ok = stm.execute(SQL);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
stm.close();
} catch (SQLException e) {
e.printStackTrace();
}
db.close();
}
return ok;
}
public int update() {
Statement stm = null;
String SQL = "update x set ";
String valores = "(a = '" + modelo.getA() + ", b = '" + modelo.getB() + ", c = '" + modelo.getC() + ", d = '" + modelo.getD() + ")";
SQL += valores;
int total = 0;
try {
stm = con.createStatement();
total = stm.executeUpdate(SQL);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
stm.close();
} catch (SQLException e) {
e.printStackTrace();
}
db.close();
}
return total;
}
public void select() {
Statement stm = null;
String SQL = "select * from x";
ResultSet rs = null;
try {
stm = con.createStatement();
rs = stm.executeQuery(SQL);
modelo.setA(rs.getString("a"));
modelo.setB(rs.getString("b"));
modelo.setC(rs.getString("c"));
modelo.setD(rs.getString("d"));
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
stm.close();
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
db.close();
}
}
}
[/code]
[code]public class Modelo {
public String getA() {
return null;
}
public String getB() {
return null;
}
public String getC() {
return null;
}
public String getD() {
return null;
}
public void setA(String string) {
}
public void setB(String string) {
}
public void setC(String string) {
}
public void setD(String string) {
}
}
[/code]
[code]public class DB {
private Connection con;
public Connection getConnection() {
try {
// colocar a classe de driver do banco de dados que for usar
DriverManager.registerDriver(new com.ibm.db2.jcc.DB2Driver());
// trocar os dados para o banco de dados que for usar
con = DriverManager.getConnection("jdbc:YYYY://xxxxxxxx:0000/AAAAAA", "XXXXXX", "XXXXXX");
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
public void close() {
if (con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}[/code]
Detesto fazer esse papel, mas concatenar string pra gerar SQL é fonte de problemas: pra isso existe o preparedStatement.
É claro que o exemplo é didatico, mas não custa avisar. SQL Injection é uma das coisas mais comuns nos dias de hoje e, mesmo q não fosse um problema, imagine na hora de cadastrar a Joana D’arc ?
Nao tinha pensado nisso antes vlw :lol:
olá
eu tenho a apostila da caelum, mais nela ela cria uma classe Contato, para depois inserir os dados usando o PREPARED STATEMENT.
No meu caso minha tabela está no SQL Sever Management Studio, dai não sei como eu “chamo” essa tabela para usa-la
obrigada