【发布时间】:2019-07-12 00:45:54
【问题描述】:
如何使用mysql和java同时执行两个查询? 我创建的这个登录名遇到了问题。登录名工作得很好。但是当它在网络中工作时,如果两个不同的用途尝试在同一个实例上登录,它就不起作用。用户可以单独登录。有没有特定的方法二可以实现这一点?
代码如下
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.security.MessageDigest;
import sun.misc.BASE64Encoder;
//import java.sql.ResultSet;
import java.sql.SQLException;
public class userauthentication {
public static String getuserauthentication(String x,String y){
String column="123",prio_no="0";
//String encrypted=password.encryptSha(x);
try{
DBFacede d=new DBFacede();
ResultSet r1 = d.fetch("SELECT a.Password FROM login a WHERE a.user_id='"+y+"'");
r1.last();
int rows = r1.getRow();
r1.beforeFirst();
for(int i=0;i<rows;i++){
if(r1.next()){
}
}
column=r1.getString("Password");
ResultSet r2 = d.fetch("SELECT a.Priority FROM login a WHERE a.user_id='"+y+"'");
r2.last();
int rows1 = r2.getRow();
r2.beforeFirst();
for(int i=0;i<rows1;i++){
if(r2.next()){
}
}
prio_no=r2.getString("Priority");
System.out.println(column+"**********");
}
catch (SQLException s){
System.out.println("SQL statement is not executed!");
}
//System.out.println(column);
if(column.equals(x)){
return prio_no;}
else {
return "0";
}
}
【问题讨论】:
-
能否请您发布您的登录代码。
-
"如果两个不同的用户尝试在同一个实例上登录,它不会起作用。"需要详细说明,什么实际上不起作用?
-
简短的回答:是的。 SQL-server 和 Java 都支持同时执行许多 SQL 语句。如果您改写问题或添加一些源代码,我们可能会提供进一步的帮助。 :)
-
ResultSet r1 = d.fetch("SELECT a.Password FROM login a WHERE a.user_id='"+y+"'"); ResultSet r2 = d.fetch("SELECT a.Priority FROM login a WHERE a.user_id='"+y+"'");这些是我使用的两个查询..它将获取传递给方法的用户名,并将获取与 dat 相关的密码,并将检查密码是否与给定密码匹配...如果是,用户可以登录..这是代码如何工作的基本思想
-
程序在tomcat上运行,blazeds用于remort对象,前端在flex中。只要两个人不尝试同时登录,代码就可以正常工作。一旦两个人尝试这样做,什么都没有发生..