try { String connectDB = "jdbc:sqlserver://localhost:1433;DatabaseName=DB_201623010355;encrypt=false"; String user = "sa"; // 这里只要注意用户名密码不要写错即可 String password = "123456789"; Connection con = DriverManager.getConnection(connectDB, user,password); if(kind.equals("管理员")) { sql="select * from Admin where admin_ID= '"+strName+"' and admin_password='"+strPwd+"'"; } else { sql="select * from subcs where subcs_ID= '"+strName+"' and subcs_password='"+strPwd+"'"; } Statement stmt = conn.createStatement(); rs = stmt.executeQuery(sql); if (rs.next()) { if(kind.equals("管理员")) { new Manager().setVisible(true); dispose(); } else { new Student(strName).setVisible(true); dispose(); } } else { JOptionPane.showMessageDialog(null,"用户名或密码不正确","消息对话框",JOptionPane.WARNING_MESSAGE); txtPwd.setText(""); txtName.requestFocus(); } } catch(SQLException ex) { ex.printStackTrace(); } finally { try { rs.close(); stmt.close(); conn.close(); }catch(Exception ex) { } } } });
时间: 2024-04-23 07:22:03 浏览: 12
这段代码主要用于 Java 中使用 JDBC 连接数据库并进行用户登录的操作。具体步骤如下:
1. 定义连接数据库的 URL、用户名和密码,其中 URL 中包含了数据库的 IP 地址、端口号和数据库名称,例如 `"jdbc:sqlserver://localhost:1433;DatabaseName=DB_201623010355;encrypt=false"`。
2. 通过 `DriverManager.getConnection()` 方法创建一个 `Connection` 对象,表示与数据库建立的连接。
3. 根据用户类型(管理员或学生),拼接 SQL 查询语句,并调用 `conn.createStatement().executeQuery()` 方法执行查询,返回一个 `ResultSet` 对象。
4. 如果查询结果中有匹配的记录,则打开相应的窗口,否则提示用户名或密码不正确。
5. 在 `finally` 块中关闭 `ResultSet`、`Statement` 和 `Connection` 对象,释放资源。
需要注意的是,该段代码存在 SQL 注入漏洞,应该使用预编译语句或参数化查询来避免此类攻击。
相关问题
import java.sql.Connection; import java.sql.DriverManager; /** * 数据库工具类 * @author Zss * */ public class DBConnecter { private String connectDB = "jdbc:sqlserver://localhost:1433;DatabaseName=DB_201623010355;encrypt=false"; private String user = "sa"; private String password = "123456789"; private String jdbcName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; /** * 获取数据库连接 * @return * @throws Exception */ public Connection getConnection()throws Exception{ Class.forName(jdbcName); Connection con = DriverManager.getConnection(connectDB, user,password); return con; } /** * 关闭数据库 * @param con * @throws Exception */ public void closeCon(Connection con)throws Exception{ if(con!=null){ con.close(); } } public static void main(String[] args) { DBConnecter dbConnecter = new DBConnecter(); try{ dbConnecter.getConnection(); System.out.println("数据库连接成功!"); }catch(Exception e){ e.printStackTrace(); System.out.println("数据库连接失败!"); } } }
这段代码是一个数据库工具类,用于连接SQL Server数据库。在`getConnection()`方法中,我们首先使用`Class.forName()`加载SQL Server驱动程序,然后使用`DriverManager.getConnection()`方法建立数据库连接,并返回该连接。在`closeCon()`方法中,我们关闭数据库连接。在`main()`方法中,我们创建了一个`DBConnecter`对象,并调用其`getConnection()`方法来测试数据库连接是否成功。
如果您想要使用这个工具类连接SQL Server数据库,只需要将`connectDB`、`user`和`password`变量修改为您自己的数据库连接信息即可。当您需要连接数据库时,只需要创建一个`DBConnecter`对象,然后调用`getConnection()`方法即可。如果您不再需要连接数据库,则可以调用`closeCon()`方法关闭数据库连接。
请注意,连接SQL Server数据库还需要确保正确安装了SQL Server驱动程序,并且在`jdbcName`变量中指定了正确的驱动程序类名(这里使用的是SQL Server 2008及以上版本的驱动程序类名)。
java连接mppdb数据库_华为GaussDB A JDBC连接数据库
要连接华为GaussDB A数据库,需要先在Java代码中导入相关的JDBC驱动程序。可以从华为官网下载并安装GaussDB A JDBC驱动程序。安装完成后,可以使用以下代码来连接数据库:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectDB {
public static void main(String[] args) {
Connection conn = null;
String url = "jdbc:postgresql://hostname:port/database";
String user = "username";
String password = "password";
try {
// 注册 JDBC 驱动
Class.forName("org.postgresql.Driver");
// 打开链接
conn = DriverManager.getConnection(url, user, password);
// 执行查询操作等
// ...
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
其中,url要根据实际情况进行修改,hostname和port是GaussDB A数据库的IP地址和端口号,database是要连接的数据库名称,username和password是连接数据库所需的用户名和密码。在执行查询操作等后续操作前,需要先验证连接是否成功。