补充:数据库使用的是sqlserver 2005

解决方案 »

  1.   

    存储过程
    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();
    }
    }
      

  2.   

    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