java中ExecuteUpdate的返回值中出现问题,

java中ExecuteUpdate的返回值中出现问题,,java,jdbc,Java,Jdbc,“UserName”是sql表中的主键(因此我们不能有两个用户使用相同的用户名),当我在用户表中插入一个新值(表中不存在)时,我有行=1,并显示消息“inserted with success!行=1”,但是当用户表中已经存在要插入的值时,我不会得到消息(也不会得到重定向)。 代码如下: String Query = "insert into user values ( '"+ UserName +"', '"+PassWord +"', '"+ mobile +"' ) ;" ; statm

“UserName”
是sql表中的主键(因此我们不能有两个用户使用相同的用户名),当我在用户表中插入一个新值(表中不存在)时,我有
行=1
,并显示消息“inserted with success!
行=1
”,但是当用户表中已经存在要插入的值时,我不会得到消息(也不会得到重定向)。 代码如下:

String Query = "insert into user values ( '"+ UserName +"', '"+PassWord +"', '"+ mobile +"' ) ;" ;

statm = Cnx.GetConnexion().createStatement();
ArrayList<Integer> list = new ArrayList<>();
int row = statm.executeUpdate(Query); 

if( row > 0 ) // insertion with succes
{
    pw.println("inserted with succes ! row =" +row);
    //response.sendRedirect("index.html");     
}
else
{
    pw.println("User Name taken ! please try an other one");
    //response.sendRedirect("singup.html");                                                         
}
String Query=“插入用户值(“+UserName+”、“+PassWord+”、“+mobile+”);”;
statm=Cnx.GetConnexion().createStatement();
ArrayList=新建ArrayList();
int row=statm.executeUpdate(查询);
if(行>0)//插入成功
{
pw.println(“插入时带有success!row=“+row”);
//sendRedirect(“index.html”);
}
其他的
{
println(“获取用户名!请尝试另一个”);
//sendRedirect(“singup.html”);
}

我猜代码引发了一个异常。试试这个,发生什么事了

try{
    // your code
} catch (Exception e) {
   System.out.println(e.getMessage());
}

您是否在控制台中获得任何异常或共享堆栈跟踪。这可能会有帮助。您可能在执行更新期间遇到sql异常。您需要首先处理该问题或检查现有条目。是的,当我尝试将Jean作为已经存在的用户名插入时,收到一条消息,“重复条目'Jean'作为键'PRIMARY'”,因此,我需要知道如何在中处理这个exeption,尝试通过pw或response.sendreqirectpw.println而不是System.out.println以正常的msg形式显示它?同样,即使是wosre,也不能在catch语句中使用“pw”!您是否在try支架内启动pw?你能分享你当前的代码吗?哦,是的,我放弃了,我在try括号内启动pw,我现在将它移出以便能够在catch语句中使用它,我收到一条消息“重复输入'Jean'作为键'PRIMARY'”,所以它起作用了,但我们不知道如何在try括号内获得这个exeption,并尝试通过pw以正常的msg显示它!