CREATE PROCEDURE XXXXXX ( @username varchar(XX), @password varchar(XX) ) AS BEGIN select * from Users where 1=1 CASE WHEN @username is not null AND @username <> "" THEN and username = @username END CASE WHEN @password is not null AND @password <> "" THEN and password = @password END END GO
CREATE PROCEDURE p_get_user
@userName varchar(50),
@psd varchar(50)
AS
BEGIN
select count(user_name) from users where user_name = @userName and password = @psd
ENDpublic static void main(String[] args) {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加载JDBC驱动
String dbURL = "jdbc:sqlserver://192.168.3.2:1433; DatabaseName=wd"; // 连接服务器和数据库 String userName = "name"; // 用户名
String userPwd = "psd"; // 密码
Connection dbConn;
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
//调用存储过程
String userName = "";
String psd = "";
PreparedStatement cstmt = dbConn.prepareStatement("{call p_get_user(?,?)}");
cstmt.setString(1, userName);
cstmt.setString(2, psd);
ResultSet resultSet = preparedStatement.executeQuery();
if (resutlSet.next()) {
System.out.println(resultSet.getInt(1));
}
cstmt.close();
dbConn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
(
@username varchar(XX),
@password varchar(XX)
)
AS
BEGIN
select * from Users
where 1=1
CASE WHEN @username is not null AND @username <> "" THEN
and username = @username
END
CASE WHEN @password is not null AND @password <> "" THEN
and password = @password
END
END
GO