9.5 Get More
Information From the Database
The result of a Java action is saved in the return variable of the
action. The system basically expects a list of name value pairs
defined in a object of class java.util.Properties. If the
return is of a different type, the system tries to create one
using the toString method of the return object and assigns
it to the name result.
We can easily update the application so the information is
retrieved from the AccountPassword table.
Update the Database
Table
Add a new column named Account_Info, then populate some
initial data
Account_Id |
Account_Password |
Account_Info |
101 |
123 |
The secret formula of Coke is sugar |
102 |
3456 |
The secret formula of Coke is water |
Update the Java
Class
The updated class is listed here. The updated lines are shown in
red.
public
Properties check(String accountNumber,
String passwd)
{
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
boolean passwdOK = false;
String info =
"";
try {
// Establish the connection.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(CONN_URL, DB_USER, DB_PASSWORD);
// Create and execute an SQL statement
String sqlst = "SELECT Account_Password,
Account_Info FROM AccountPassword " +
" WHERE Account_Id = '" + accountNumber + "'";
stmt = con.createStatement();
rs = stmt.executeQuery(sqlst);
// Check the return data
if (rs.next()) {
String passwdSaved = rs.getString(1).trim();
if (passwdSaved.equals(passwd.trim()))
{
passwdOK = true;
info = rs.getString(2).trim();
}
}
rs.close();
stmt.close();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
if (con != null)
try { con.close(); }
catch(Exception e) {}
}
Properties props = new Properties();
props.setProperty("result", passwdOK
? "true" : "false");
props.setProperty("info", info);
return
props;
}
Create a new
variable to hold the information
To hold the information returned from the database, we need to add
a variable secret_info. This is to be added to the top
element. In the Check Password element, add another action to save
the return value (use Set Variable action).
secret_info = check_password.info
Use the variable as
a prompt
|