java程序只给出数据库表的第一列;“用户”;MSSQL
我遇到了一个问题,即我连接到数据库,但无法检索超过第一列的内容,即使我的查询语句是“Select*from Users” 下面是我的代码:java程序只给出数据库表的第一列;“用户”;MSSQL,java,sql-server,Java,Sql Server,我遇到了一个问题,即我连接到数据库,但无法检索超过第一列的内容,即使我的查询语句是“Select*from Users” 下面是我的代码: import java.sql.*; public class Connecttodb { public void dbConnect(String db_connect_string,String db_UserID,String db_UserPass) { try{ Class.forName("com.microsoft.
import java.sql.*;
public class Connecttodb {
public void dbConnect(String db_connect_string,String db_UserID,String db_UserPass)
{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(db_connect_string,db_UserID,db_UserPass);
System.out.println("connected");
Statement statement= conn.createStatement();
String querystring = "SELECT * FROM Users";
ResultSet rs = statement.executeQuery(querystring);
while(rs.next()){
System.out.println(rs.getString(1));
}
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Connecttodb connServer= new Connecttodb();
connServer.dbConnect("jdbc:sqlserver://TGOURDINE-PC\\SQLEXPRESS;databaseName=picture website", "tgourdine", "thomas");
}
}
结果仅为第一列,UserID:
connected
1
2
3
我想要的结果如下:
谢谢,因为您只检索第一列
System.out.println(rs.getString(1));
将循环更改为
while(rs.next())
System.out.println(rs.getString(1) + " " + rs.getString(2) + " " + rs.getString(3) + " " + rs.getString(4));
请查看getString
检索当前行中指定列的值
在Java编程语言中,此ResultSet对象是一个字符串
还可以查看收到的参数文档
columnIndex-第一列是1,第二列是2
根据getString(1),将只返回第一列。好的,您要求将每行的第一列作为字符串;你还期待什么吗?如果我没有指出你可能永远都不应该以编程的方式从任何东西中选择*,那我就是失职了。最好只选择所需的列,并添加一个
WHERE
子句。
while(rs.next())
System.out.println(rs.getString(1) + " " + rs.getString(2) + " " + rs.getString(3) + " " + rs.getString(4));