SELECT * FROM swiftRecord WHERE recID =localID
。 recID是来自access数据库的自动编号。 localID声明为整数。
Integer localID = Integer.parseInt(Global.uniNum.getText());
localID++;
System.out.println(localID);
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Global.database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=C:\\DB\\swift_db_14.accdb;";
Global.conn = DriverManager.getConnection(Global.database, "", "");
Global.s = Global.conn.createStatement();
Global.rs = Global.s.executeQuery("SELECT * FROM swiftRecord WHERE recID = '" + localID +"' " );
String payLine1="";
int cou = 0;
while(Global.rs.next())
{
payLine1=Global.rs.getString("payLine1");
cou++;
}
System.out.println(payLine1);
}
catch(Exception ex)
{
ex.printStackTrace();
}
我正在尝试从名为swiftRecord的数据库中获取值。我试图通过指定唯一的recID来提取数据。每次运行程序时都会出现数据不匹配的情况。
答案 0 :(得分:1)
这是今天我第二次见到这个完全相同的问题......
问题是,当您将localID
变量括在引号'" + localID +"'
中时,它会被视为String
,而不是...
使用PreapredStatement
s或删除引用
"SELECT * FROM swiftRecord WHERE recID = " + localID;
说真的,使用PreapredStatement
s