Hi Leute,
habe folgendes problemm:
habe 2 tabellen Bestellung(bestnr,...BESTSUM) und Bestellposition(bestnr,posnr,menge,preis)
möchte jetz folgendestun:
für die einzelnen Bestellungen die Bestelsumme (abhänig von dazugehörigen bestellpositionen ) berechnen und unter kolumne BESTSUM der Bestellung ablegen
bestnr,posnr preis sind nom type NUMBER rest ist VARCHAR2
oracle und jdbc funktionieren
code dazu :
meine fehlermeldung:
java.sql.SQLException: Ungültiger Spaltenname
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.driver.OracleStatement.get_column_index(OracleStatement.java:5971)
at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:1527)
at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1482)
at Bestellung.main(Bestellung.java:41)
zeile 41 ist das hier: "System.out.println"
ich weiss nicht mehr weiter
da ich ein anfänger binn würde ich mich über jeden tipp/verbesserungsvorschlag freuen
dancke
habe folgendes problemm:
habe 2 tabellen Bestellung(bestnr,...BESTSUM) und Bestellposition(bestnr,posnr,menge,preis)
möchte jetz folgendestun:
für die einzelnen Bestellungen die Bestelsumme (abhänig von dazugehörigen bestellpositionen ) berechnen und unter kolumne BESTSUM der Bestellung ablegen
bestnr,posnr preis sind nom type NUMBER rest ist VARCHAR2
oracle und jdbc funktionieren
code dazu :
Code:
import java.sql.*;
public class Bestellung {
public static void main (String [] args) throws SQLException
{
try {
Class.forName ("oracle.jdbc.driver.OracleDriver");
Connection c = DriverManager.getConnection(
"jdbc:oracle:thin:@..:1521:..", "", "");
Statement s = c.createStatement();
ResultSet rs = s.executeQuery(
"SELECT menge,preis,posnr FROM Bestellposition");
Statement a = c.createStatement();
ResultSet ra = a.executeQuery(
"SELECT bestnr, bestsum FROM Bestellung");
while (rs.next())
{
int[] bnr = new int [10000];
int i=0, j=0;
double [] summe = new double[10000];
String erg;
bnr [i] =rs.getInt(1);
summe [i]= (rs.getInt("menge")* rs.getDouble("preis"));
erg= "" + summe[i];
for (j=0; j<i; j++)
{
if (bnr[i]== bnr[j])
{
summe[i]+= summe[j];
}
String sl ="UPDATE Bestellung SET bestsum=?, bestnr=?";
PreparedStatement p = c.prepareStatement(sl);
p.setString(1, "erg");
p.setString(2, "bestnr");
p.executeUpdate();
}
System.out.println
(rs.getString ("bestnr")+ "\t" +
rs.getString ("menge")+ "\t" +
rs.getString ("preis")+"\t" +
rs.getString ("posnr"));}//end while
c.close();}//end try
catch (Exception e) {
e.printStackTrace(); }
}//end main
}//end Bestellung
meine fehlermeldung:
java.sql.SQLException: Ungültiger Spaltenname
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.driver.OracleStatement.get_column_index(OracleStatement.java:5971)
at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:1527)
at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1482)
at Bestellung.main(Bestellung.java:41)
zeile 41 ist das hier: "System.out.println"
ich weiss nicht mehr weiter
da ich ein anfänger binn würde ich mich über jeden tipp/verbesserungsvorschlag freuen
dancke