Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jsp中的多个sql查询_Java_Sql_Sql Server_Jsp_Jdbc - Fatal编程技术网

Java jsp中的多个sql查询

Java jsp中的多个sql查询,java,sql,sql-server,jsp,jdbc,Java,Sql,Sql Server,Jsp,Jdbc,这可能是一种不好的做法,但我是创建jsp的新手。我想使用if语句执行多个更新。我想使用大约6个查询,但我无法让代码正常工作。是否可以在jsp中更新多个sql 这是我的密码: //dbupdatetam.jsp 更新泰米尔语网页 字符串值为 字符串值为 更新成功。记录已成功更新 如果您没有连接到多个数据库,则无需创建两个连接对象,因为您可以通过创建单个对象来实现此要求。 我发现您在更新记录时正在使用executeQuery()方法。在执行任何DML操作时,请使用Connection对象的exec

这可能是一种不好的做法,但我是创建jsp的新手。我想使用if语句执行多个更新。我想使用大约6个查询,但我无法让代码正常工作。是否可以在jsp中更新多个sql

这是我的密码:

//dbupdatetam.jsp
更新泰米尔语网页
字符串值为

字符串值为

更新成功。记录已成功更新


如果您没有连接到多个数据库,则无需创建两个连接对象,因为您可以通过创建单个对象来实现此要求。 我发现您在更新记录时正在使用executeQuery()方法。在执行任何DML操作时,请使用Connection对象的executeUpdate()方法。它返回一个整数值

下面是正在工作的jsp代码

<%@ page import="java.util.* , javax.sql.* , java.sql.*" %>
<% 
Connection con = null;
java.sql.Statement s = null;
java.sql.ResultSet rs = null;

int var3 = Integer.parseInt(request.getParameter("num1"));
int var4 = Integer.parseInt(request.getParameter("num2"));


String url= "***";
String id= "***";
String pass = "***";

try{


Class.forName("com.mysql.jdbc.Driver");
con = java.sql.DriverManager.getConnection(url, id, pass);

}catch(ClassNotFoundException cnfex){
cnfex.printStackTrace();

}
String sql = "select name from demo where id="+var3;
String sql1 = "update demo set name='XYZ' where id="+var4;

try{    //try start

    s = con.createStatement();
        rs = s.executeQuery(sql);
%>
<%
String retnValue = null;
if( rs.next() ){ //while start
    retnValue = rs.getString(1);
}
%>
<p>String value is <%=retnValue%></p>
<% if ( retnValue != null) { //ifstart
%>
<%
try{ //try1start

    int count = s.executeUpdate(sql1); 
%>
    <p>The update is successful.<%=count%> record updated successfully.</p>
 <%

} //try1end
catch(Exception e){e.printStackTrace();}
finally{ //finallystart
if(rs!=null) rs.close();
if(s!=null) s.close();
if(con!=null) con.close();
}//finallyend
%>
<% } %>
<%
//} //whileend
%>
<%
} //tryend
catch(Exception e){e.printStackTrace();}
finally { //finallystart
if(rs!=null) rs.close();
if(s!=null) s.close();
if(con!=null) con.close();
} //finallyend
%>

</body>

字符串值为

更新成功。记录已成功更新


谢谢你,巴达尔。我使用的是SQL Server,不是mysql。所以我只是稍微修改了一下你的代码,但还是不起作用。当我在IE上运行这个时,我得到一个空白屏幕。我检查了数据库,看看是否发生了更新,但没有。下面是更新的一个:Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);String sql=“从tablename中选择类型,其中id=”+var1+“”;String sql1=“update tablename set StatusID='0',Status='followed(“+var2+”),其中id='“+var1+””;您是否正在传递先前代码中声明的var3、var4变量的值?是的,我使用了var1和var2,而不是var3和var4。您能否再次共享您的完整代码?只是再次编辑了这篇文章,因为我无法在此处对其进行评论。评论太长了!