private static Connection con;
private static DB laczenie;
public DB() {
try {
Class.forName("com.mysql.jdbc.Driver");
con =
DriverManager.getConnection("jdbc:mysql://caracal.pl:3306/caracal_blog","caracal_blog","haslo");
}
catch(SQLException ec) { System.err.println(ec.getMessage());}
catch(ClassNotFoundException ex) {System.err.println("Cannot find
driver.");}
}
static DB getData() {
if(laczenie==null) laczenie = new DB();
return laczenie;
}
public ResultSet executeQuery(String query) {
ResultSet rs = null;
try {
Statement stmt = con.createStatement();
rs = stmt.executeQuery(query);
}
catch (SQLException ec) { System.err.println(ec.getMessage());}
return rs;
}
}
w klasie robiacej textarea:
public class DbTextAreaModel extends JTextArea {
private static final long serialVersionUID = 1L;
public DbTextAreaModel(String query) throws SQLException
{ // LINIA 12
ResultSet rs = DB.getData().executeQuery(query);
setText(rs.getString(1));
}
}
a w main kawalek:
// LINIA 15
DbTextAreaModel ta = new DbTextAreaModel("select tresc_notki from notes
limit 1"); a nastepnie dodajacy ta do JPanelu...
i pojawiaja się wyjatki ktore nie wiem jak ominac:
Exception in thread "main" java.sql.SQLException: Before start of result set
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1056)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java:797)
at com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:5725)
at com.mysql.jdbc.ResultSet.getString(ResultSet.java:5645)
at DbTextAreaModel.<init>(DbTextAreaModel.java:12) zaznaczona
at Przychodnia.main(BlogMain.java:15) zaznaczona
Z importem do tabeli w sposob podobny w petli nie mam problemu. Naleze
do poczatkujacych wiec pewnie cos nie tak, albo z zamiana wyniku na
string choc to text albo nie wiem z czym, jesli macie jakies pomysly
prosze dajcie znac.
Pozdrawiam,
Pawel
> Mam problem z wrzuceniem wyniku do JTextArea:
[ ... ]
> public DbTextAreaModel(String query) throws SQLException
> { // LINIA 12
> ResultSet rs = DB.getData().executeQuery(query);
> setText(rs.getString(1));
> }
najpierw musisz przesunąć kursor do pierwszego wiersza:
rs.next();
setText(rs.getString(1));
> Z importem do tabeli w sposob podobny w petli nie mam problemu. Naleze
> do poczatkujacych wiec pewnie cos nie tak, albo z zamiana wyniku na
> string choc to text albo nie wiem z czym, jesli macie jakies pomysly
> prosze dajcie znac.
> Pozdrawiam,
> Pawel
skoro jesteś początkujący, to zdecydowanie polecam lekturę tutoriala
http://java.sun.com/docs/books/tutorial/index.html
--
Pozdrawiam, Karol
Wielkie dzięki, główny mój problem to chwilowy brak czasu na tegoż
wymienionego w linku wyżej. Choć w pewnych momentach bardzo chciałbym
poznać dogłębnie jave.
Pozdrawiam,
p.