我正在创建一个应用程序,它显示数据库中的字符串。然后,此字符串将显示在无法编辑的文本框中(只读)。
我现在要求将文本框中的变量(传递的 ID)与 SQL 数据库表中的列进行比较,该列是相同的字符串。找到匹配的字符串后,我需要根据查询更新其他列。
当我使用 request.getParameter() 方法时,它的输出为空。
我需要它纯粹在jsp中完成。请帮忙。
<%@page import="java.sql.*"%>
<%@page import="java.lang.*"%>
<%@page import="java.io.*"%>
<%@page language="Java"%>
<html>
<head>
<script type="text/javascript">
function move(){
document.getElementById('tgt1').value = document.getElementById('Allocation').value;
document.getElementById('Allocation').value="";
document.getElementById("Send").disabled=true;
}
function UnBlock()
{
document.getElementById("tgt1").value="";
document.getElementById("Send").disabled=false;
document.getElementById("tgt2").style.display="block";
document.getElementById("Query_but").style.display="block";
}
function UnBlock_Only(){
document.getElementById("Send").disabled=false;
document.getElementById("Query").disabled=true;
}
function Alloc_Insert()
{
document.myform.action="Alloc_Insert.jsp";
document.myform.method="post";
document.myform.submit();
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
margin-top: 20px;
margin-left: 30px;
}
</style>
</head>
<body>
<form name="myform" method="post" action="Alloc_Insert.jsp">
<%
try {
String sessname=(String)session.getAttribute("myusername");
PreparedStatement ps,ps2=null;
ResultSet rs=null;
Statement st=null;
Connection con=null;
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "system", "tiger");
ps=con.prepareStatement("select DBID from Scope1 where specialist IS Null");
rs = ps.executeQuery();
if(rs.next())
{
%>
<input type="text" name="Allocation" size="75" id="Allocation" value="<%=rs.getString("DBID")%>" readonly="readonly">
<%
}
}
catch(Exception e){
out.println(e);
}
%>
<a href="Alloc_Insert.jsp" value="Allocate" id="Send" name="Send" onclick="Clicked()">Allocate</a><br/>
<br/><br/><br/><br/><br/><br/>
<table>
<tr>
<input type="text" id="tgt1" size="100">
<td><input type="button"value="Query" id="Query" onClic="UnBlock()"></td>
<td><input type="button" value="Westlaw Verification" onClick="UnBlock_Only()"></td>
</tr><br/>
</table><textarea name="tgt2" id="tgt2" cols="30" rows="5" style="display:none"></textarea>
<table><tr><td><a href="Insert.jsp" style="display: none" id="Query_but" onclick="Add_Query()">Submit Query</a></td></tr></table>
<table><tr><td><input type="text" value="" id="demo" size="75"></td></tr></table>
</form>
</body>
</html>
用于比较数据的jsp如下
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.lang.String"%>
<html>
<head>
</head>
<body>
<%
try{
ResultSet rs=null;
String Add=request.getParameter("Allocation.text");
String user=(String) session.getAttribute("myusername");
Class.forName("oracle.jdbc.driver.OracleDriver");
java.util.Date today = new java.util.Date();
java.sql.Timestamp t= new java.sql.Timestamp(today.getTime());
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system","tiger");
PreparedStatement ps=con.prepareStatement("Update Scope1 SET ALLOCATED=?, SPECIALIST=? WHERE DBID='"+Add+"'");
ps.setTimestamp(1, t);
ps.setString(2, user);
/*ps.setString(3, Add_U);*/
ps.executeUpdate();
out.println(user);
out.println(con);
out.println(t);
out.println(Add);
con.commit();
}
catch(Exception e)
{
out.println(e);
}
%>
</body>
</html>
请尽早帮助我。
谢谢你