所以我有一个数据库(UserInfo),它具有以下属性:用户名、电子邮件、密码等。但我试图从用户名中单独选择所有值,这样我就可以将它们单独用作字符串。 但我找不到任何允许您从特定行中进行选择的语法。
示例:
SELECT Username FROM UserInfo WHERE **row number = 1**
例如,它选择行号为 1 的用户名。有什么想法吗?
代码如下: 最后一个方法允许我检查属性 Username 下的字段数量,以便我可以使用该数字 x 创建数组大小。
public void declaringDataBase() throws SQLException{
conObj = DriverManager.getConnection
("jdbc:derby://localhost:1527/UserInfo","UserInfo","1234");
statObj = conObj.createStatement();
}
public void DisplayUsers() throws SQLException{
String query = "SELECT Username FROM WHERE rownum = 2";
declaringDataBase();
rsObj = statObj.executeQuery(query);
System.out.println(rsObj.getString(1));
}
public void returnNumberInUsernameColumn() throws SQLException{
String queryCount = "SELECT COUNT(Username) FROM UserInfo";
declaringDataBase();
rsObj = statObj.executeQuery(queryCount);
String x = null;
while(rsObj.next()){
x = rsObj.getString(1);
}
int returnValue = Integer.parseInt(x);
System.out.println(returnValue);
}
}
数据库看起来像这样:
Username(PK) EmailAddress Password
Joe01 joe@hotmail.co.uk 34590834ffjfdnkdfd
Frank22 Frank@gmail.com ert543897ut034noegn
Ellie334 Ellie23@yahoo.co.uk 345903ejfbdvkdfvvdg
密码被散列的地方。
我想使用某种整数来选择例如 Frank22 或 Joe01,以便我可以增加它以获取用户名中的其他值
最佳答案
您可以将它们全部选中,然后移动光标。
ResultSet rs = statement.executeQuery("SELECT Username FROM UserInfo");
rs.absolute(yourIndex);
String username = rs.getString(1);
要“获取用户名处的其他值”,您可以迭代该集合。
rs.absolute(yourIndex);
System.out.printf("username at %d: %s%n", yourIndex, rs.getString(1));
while (rs.next()) {
yourIndex++;
System.out.printf("username at %d: %s%n", yourIndex, rs.getString(1));
}
关于java - 选择某一行SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53882920/