Heips
Miten saan Javan kanssa käytettyä Access tietokantaa. SQL- hallinassa ja ASP;llakin hoituu.
Nyt hakuisin koittaa ihan perusjuttuja Javalla. Ihan Inserttiä ja deletee.
Miten saan Javan kanssa käytettyä Access tietokantaa. SQL- hallinassa ja ASP;llakin hoituu.
Nyt hakuisin koittaa ihan perusjuttuja Javalla. Ihan Inserttiä ja deletee.
Vastaukset 9
Vanhimmat
Tuolta alkuun
http://java.sun.com/docs/books/tutorial/jdbc/
Hei
Meni ihan Ok mainissa. mutta kun yritin tehdä yhteydestä oman luokan, se ei onnistu.
olen importannut java.sql.*;
Sittenpä saan tämmösen kunm yritän ajaa.
unreported exception java.sql.SQLException; must be caught or declared to be thrown
ResultSet rs = stmt.executeQuery(sql);
Osaatko sanoa mitä puuttuu?
Nyt loppu taidot. Kun edellsiestä virheestä pääsin , niin ei kun seuraavaa kehiin.
Olen taksitanut, että yhteys on muodostettu ja sql-lause on muuttujassa, kuten alla oleva pätkä ilmoittaa
yhteydessa // tässä mennää yhteys classiin
sun.jdbc.odbc.JdbcOdbcConnection@83cc67// yhteyden tulostus
SELECT * FROM Asiakkaat// sql tulostus
null // stmt tulostus
Exception in thread "main" java.lang.NullPointerException
at jdbc.main(jdbc.java:29)
Jatka painamalla mitä tahansa näppäintä . . .
rivi mihin ilmoitus viittaa on tälläinen
ResultSet rs = stmt.executeQuery(sql);
Nopeesti kattoen stmt olis null mut paha sanoo ilman lähdekoodia.
tässä lähdekoodit jos osaat auttaa. Olen katsonut java2 kirjasta ja netistä.
import java.sql.*;
public class jdbc
{
public static void main(String args[]) throws SQLException
{
Connection conn = null;
conn = yhteys.connect();
String sql="SELECT * FROM Asiakkaat";
Statement stmt=null;
ResultSet rs = stmt.executeQuery(sql);
System.out.println(stmt);
while (rs.next())
{
int i = rs.getInt("As_nro");
String e = rs.getString("Etu_nimi");
String s = rs.getString("Suku_nimi");
System.out.println(i "\t" s "\t" e );
}
stmt.close();
}
}
Ja tässä yhteys class
import java.sql.*;
public class yhteys {
private yhteys()
{}
public static Connection connect () throws SQLException
{
Connection conn=null;
String url = "jdbc:odbc:Java_kanta";
Connection yhteys;
String tunnus = "";
String salasana = "";
Statement stmt;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
try {
yhteys = DriverManager.getConnection(url, tunnus,salasana);
stmt = yhteys.createStatement();
} catch(SQLException ex)
{
System.err.println("SQLException: " ex.getMessage());
}
return conn; }
}
Olet unohtanut luoda stmt:n, eli:
String sql="SELECT * FROM Asiakkaat";
Statement stmt=null;
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
Statement stmt=null;
ResultSet rs = stmt.executeQuery(sql);
Pitäis olla
Statement stmt= conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
heips
nyt sama virheilmoitus tulee riville
Statement stmt= conn.createStatement();
Jotain tuolta varmaan puuttuu, mietin onkohan koko yhteyttä ????
Heips
Kiitos avuista. Virhe löytyi,se oli yhteys-luokassa.