SOAP WebServices を使用して MySQL データベース接続用の Android プロジェクトを開発しています。
私のデータベースには、3 つのフィールド (ユーザー名、パスワード、電子メール) があります。
ここでは、3 人のユーザーの値を挿入します。ログイン フォームの Web サービス コードを作成しました。
ログインフォームのコードは次のとおりです。
package com.userlogin.ws;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Login {
public String authentication(String userName, String password) {
String retrievedUserName = "";
String retrievedPassword = "";
String status = "";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/androidlogin", "root", "");
PreparedStatement statement = con.prepareStatement("SELECT * FROM user WHERE username = '" + userName + "'");
ResultSet result = statement.executeQuery();
while (result.next()) {
retrievedUserName = result.getString("username");
retrievedPassword = result.getString("password");
}
if (retrievedUserName.equals(userName) && retrievedPassword.equals(password)) {
status = "Success!";
} else {
status = "Login fail!!!";
}
} catch (Exception e) {
e.printStackTrace();
}
return status;
}
}
忘れたパスワード。Web サービス コードは次のとおりです。
package com.userlogin.ws;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
public class ForgetPassword {
public String customerData(){
String customerInfo = "";
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/androidlogin","root","");
//Find customer information where the customer ID is maximum
PreparedStatement statement = con.prepareStatement("SELECT * FROM user WHERE username = (SELECT username FROM user)");
ResultSet result = statement.executeQuery();
while(result.next()){
customerInfo = customerInfo + result.getString("username") + "&" + result.getString("password") + "&"+result.getString("email");
//Here "&"s are added to the return string. This is help to split the string in Android application
}
}
catch(Exception exc){
System.out.println(exc.getMessage());
}
return customerInfo;
}
}
パスワードの忘れをクリックすると、アプリケーションは次のActivity
.
次にActivity
、メール、ID を要求する必要があります。
メールIDを入力した後、さらに別のパスワードに進み、Activity
その特定の人のパスワードのみを表示する必要があります。
どのクエリを使用すればよいですか?