gpt4 book ai didi

java - 未找到数据异常

转载 作者:太空宇宙 更新时间:2023-11-04 06:56:33 25 4
gpt4 key购买 nike

我正在使用servlet进行jdbc odbc连接。但是我得到了java.sql.SQLException:没有找到数据。可能是什么原因。?请帮助。我从一天开始就在寻找我的错误,但直到现在还无法得到它。

Connection con=null;
PreparedStatement ps=null,ps1=null,ps2=null;
ResultSet rs=null,rs1=null;


con=DriverManager.getConnection("jdbc:odbc:SharedCryptography", "fyp", "fyp");
ps=con.prepareStatement("insert into tbGroup values ('G0',?,?,?,'Y')");
ps2=con.prepareStatement("insert into tbGroupAdmin values ('U0',?,?,?,?,?,?,?,?)");

这里的字符串n1,n2,n3,n4,n5,n6,n7,n8是从html表单中获取的字符串

String sql1 = "SELECT GNAME,OEMAIL FROM tbGroup where GNAME = '"+n1+"' and OEMAIL = '"+n3+"'" ;          
ps1 = con.prepareStatement(sql1);
rs=ps1.executeQuery();
if(rs.next()){
out.println("THIS GROUP WITH SAME ID EXISTS");
}
else{
ps.setString(1,n1);
ps.setString(2,n3);
ps.setString(3,n5);
ps.execute();
out.println("inserted");
ResultSet rs2=null;

String sql2="SELECT G_ID FROM tbGroup where GNAME like '"+n1+"' and OEMAIL like '"+n3+"'";
PreparedStatement ps3 = con.prepareStatement(sql2);
rs2=ps3.executeQuery();

rs2.next();
String mypassword="password";
ps2.setString(1,rs2.getString(1));
ps2.setString(2,n2);
ps2.setString(3,mypassword);
ps2.setString(4,n6);
ps2.setString(5,n7);
ps2.setString(6,n3);
ps2.setString(7,n4);
ps2.setInt(8,Integer.parseInt(n8));
ps2.execute();

}

我的数据库有两个表:

表 1:tbGroup

G_ID    VARCHAR2(10)    
GNAME VARCHAR2(20)
OEMAIL VARCHAR2(50)
Agenda VARCHAR2(50)
Status CHAR(5)

表 2:tbGroupAdmin

GADMIN_ID           VARCHAR2(5) 
GA_GROUPID VARCHAR2(5)
GA_NAME VARCHAR2(20)
GA_PASSWORD VARCHAR2(20)
GA_FNAME VARCHAR2(20)
LastName VARCHAR2(20)
GA_EmailId VARCHAR2(50)
GA_ContactNumber VARCHAR2(20)
GA_Age NUMBER

最佳答案

这完全是猜测,但你为什么要这样做?

if(rs.next()){
out.println("THIS GROUP WITH SAME ID EXISTS");
}

如果有,它将返回true。 由此我知道您想要检查是否存在具有该 ID 的行?

你上面所做的是

String sql1 = "SELECT GNAME,OEMAIL FROM tbGroup where GNAME = '"+n1+"' and OEMAIL = '"+n3+"'"; 

你需要做的是

select G_ID from tbGroup where GNAME = '"+n1+"' and OEMAIL = '"+n3+"'"; 

*以便您可以判断是否存在相同的G_ID。*

我认为你放错了sql1sql2

此外,在您正在设置的代码中

ps2.setString(1,rs2.getString(1));//this string may have size>5 as G_ID has size 10

而 G_ADMINID 的大小为 VARCHAR2(5)

抱歉,如果我错了。

关于java - 未找到数据异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22665948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com