package com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class SQLConn { static Connection conn;//打开数据库 static Statement stmt;//运行SQL语句 ResultSet rs;//封装 //打开数据库 public static void openDB(){ try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String id="sa"; String pwd="ZhongW123"; String url= "jdbc:sqlserver://127.0.0.1:1433;databaseName=ZhongYaoYuanSys"; "jdbc:sqlserver://localhost:1433;" + "databaseName=ZhongYaoYuanSys;integratedSecurity=true;"; try { conn = DriverManager.getConnection(url, id, pwd); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //执行增删改 public static int execUpdate(String sql){ int n = 0; try { stmt = conn.createStatement(); n = stmt.executeUpdate(sql);//n是受影响的行数 } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return n; } //关闭数据库 public static void closeDB(){ try { stmt.close(); conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //执行查询功能 //public ResultSet execQuery(){ //return rs; } }找bug
时间: 2024-01-30 09:01:29 浏览: 56
Java.util包.docx
这段代码看起来已经没有语法错误了,但是有一个逻辑问题。在 `openDB` 方法中,你定义了一个局部变量 `url` 来存储连接字符串,但是你在连接数据库之前注释掉了其中一行代码,导致连接字符串不完整。具体来说,你注释掉了这一行代码:
```
"jdbc:sqlserver://127.0.0.1:1433;databaseName=ZhongYaoYuanSys";
```
而保留了这一行代码:
```
"jdbc:sqlserver://localhost:1433;" +
"databaseName=ZhongYaoYuanSys;integratedSecurity=true;";
```
这样,实际上你连接的是 `localhost` 上的数据库,而不是 `127.0.0.1` 上的数据库。如果你的数据库确实是运行在 `localhost` 上,那么这个问题就不存在了。但是如果你的数据库在不同的机器上,那么就无法连接到数据库了。
为了解决这个问题,你需要恢复那一行被注释掉的代码,确保连接字符串完整。同时,你还需要检查数据库的地址和端口号是否正确,确保能够正确连接到数据库。
希望这些建议可以帮助你解决问题!
阅读全文