Der Code hier ist mit falschen/unerwarteten Ergebnis zurück aus der Datenbank zurück. Ich kann das Problem nicht herausfinden. Hier ist der CodeJdbc liefert unexpected Ergebnis aus der Datenbank
import java.sql.*;
class test1
{
public static void main(String [] args)
{
try
{
Class.forName("oracle.jdbc.OracleDriver");
System.out.println("Driver loaded successfully");
}
catch(ClassNotFoundException ex)
{
System.out.println("Could not load "+ex.getMessage());
System.exit(0);
}
Connection con=null;
try
{
con=DriverManager.getConnection("jdbc:oracle:thin:@//Apoorv-PC:1521/orcl","scott","tiger");
Statement st=con.createStatement();
//st.setMaxRows(2);
//System.out.println(st.getMaxRows());
ResultSet rs=st.executeQuery("Select park_space from park_available where area='M.P.Nagar'");
while(rs.next())
{
String p=rs.getString(1);
System.out.println(" "+p);
}
con.close();
System.out.println("Connection closed!");
}
catch(SQLException e)
{
System.out.println("Error in database"+e.getMessage());
}
if(con!=null)
{
System.out.println("Successful!");
}
}
}
Mein park_available Tabelle in Oracle hat 5 Spalten: Bereich (varchar2), arr_date (varchar2), arr_time (varchar2), park_space (Anzahl), dept_time (varchar2).
Hier versuche ich auf die 4. Spalte "park_space" zuzugreifen, die den Wert "10" für jede Zeile hat, aber mein Code gibt 0 zurück, wenn er mit getInt() und null verwendet wird, wenn getString() verwendet wird.
Muss ich die Methode rs.next() verwenden, da das zurückgegebene Ergebnis gemäß meinem Code eine bestimmte Spalte einer bestimmten Zeile ist, also nur ein einzelner Wert?
Können Sie das Skript "CREATE TABLE ..." bereitstellen? Ich würde gerne sehen, welche Typen diese Spalten haben. – Marin
'getString (1)' ... gibt das nicht die zweite Spalte zurück, die in Ihrer RS nicht existiert? – Zircon
park_space ist der Zahl Datentyp rest all ist varchar2 Typ –