public class GAO { public static void main(String[] args)throws Exception{ SQLServerDataSource dataSource=new SQLServerDataSource(); dataSource.setURL("jdbc:sqlserver://localhost:1433;DatabaseName=study"); dataSource.setUser("root"); dataSource.setPassword("123456"); Connection connection=dataSource.getConnection(); String sql="select id from c where name='张三'"; PreparedStatement statement=connection.prepareStatement(sql); ResultSet resultSet=statement.executeQuery(); while (resultSet.next()){ String pass=resultSet.getString("id"); System.out.println(pass); } resultSet.close(); connection.close(); } }错在哪?
时间: 2024-03-01 07:54:20 浏览: 129
这份代码有两个问题:
1. 数据库连接的用户名和密码不正确。在你的代码中,连接用户名为 "root",但是一般情况下 SQL Server 使用 "sa" 作为默认用户名。请确认你的 SQL Server 实例上的用户名和密码,并将其更新到代码中。
2. SQL 语句中的表名和字段名不正确。在你的代码中,查询的表名为 "c",查询的字段名为 "name" 和 "id"。请确认你的 SQL Server 数据库中是否存在名为 "c" 的表,以及该表中是否有名为 "name" 和 "id" 的字段。如果表名和字段名不正确,那么 SQL 查询语句就会执行失败。
下面是修改后的代码:
```
public class GAO {
public static void main(String[] args) throws Exception {
SQLServerDataSource dataSource = new SQLServerDataSource();
dataSource.setURL("jdbc:sqlserver://localhost:1433;DatabaseName=study");
dataSource.setUser("sa"); // 修改为正确的用户名
dataSource.setPassword("123456"); // 修改为正确的密码
Connection connection = dataSource.getConnection();
String sql = "SELECT id FROM your_table WHERE name='张三'"; // 修改为正确的表名和字段名
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
String pass = resultSet.getString("id");
System.out.println(pass);
}
resultSet.close();
connection.close();
}
}
```
阅读全文