only you能不能帮我看看1:我的程序能够运行,
2:但是一点“修改”按扭:分为2种情况:(1)如果数据库里有要修改的数据就出错为“javax.servlet.ServletException: [Microsoft][ODBC SQL Server Driver]无效的描述符索引”;(2)如果数据库里没有要修改的数据就通得过~~
程序如下:
<%@page contentType="text/html;charset=GB2312"
import="java.sql.*"%>
<%!
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
public void jspInit()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//加载驱动程序类
con=DriverManager.getConnection("jdbc
dbc:BookDB");
//建立Connection(数据库链接)对象,并设置由cnnDB对象变量引用。
stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
//建立Statement对象,并设置建立之ResultSet对象光标可前后移动。
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
}
public void jspDestroy()
{
try
{
rs.close();
//关闭ResultSet对象
stmt.close();
//关闭Statement
con.close();
//关闭Connection对象
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
}
%>
<html>
<head>
<title>整条记录的修改</title>
</head>
<body>
<center>
整条记录的修改
</center>
<hr>
<%
String BID=request.getParameter("tbxBookID");
String HID=request.getParameter("hidRecID");
if(BID==null)
{
rs=stmt.executeQuery("SELECT * FROM Book");
%>
<table bgcolor=DodgerBlue>
<tr bgcolor=SkyBlue>
<TD><B>书籍编号</B></TD><TD><B>署 名</B></TD>
<TD><B>作 者</B></TD>
</tr>
<%
while(rs.next())
{
%>
<TR bgcolor=LightGoldenrodYellow>
<td><b><%=rs.getString("BookID")%></b></td>
<td><b><%=rs.getString("Title")%></b></td>
<td><b><%=rs.getString("Author")%></b></td>
</TR>
<%
}
%>
</table><p></p>
<P>请输入要查询的数据:</P>
<form action="bianji.jsp" method="POST" id="form2" name="form2">
<input type="text" name="tbxBookID">
<input type="submit" value="进行修改" name="submit1">
</form>
<%
}
else
{
String strSQL="SELECT * FROM Book WHERE BookID='"+BID+"'";
rs=stmt.executeQuery(strSQL);
if(!rs.next())
{
%>
<center>
<p>找不到书号为<%=BID%>的书籍</p>
<P><A href=bianji.jsp>还要进行修改</A></P>
</center>
<%
}
else
{
%>
<form action="bianji.jsp" method=post>
<table>
<tr COLSPAN=2 align=center>
<tr>
请在窗体中进行数据的修改
</tr>
<tr><td>书籍编号</td>
<td>
<input type="text" name=tbxBookID
value="<%=rs.getString("BookID")%>">
</td>
</tr>
<tr>
<td>书 名</td>
<td>
<input type="text" name=tbxTitle
value="<%=rs.getString("Title")%>">
</td>
</tr>
<tr><td>作 者</td>
<td>
<input type="text" name=tbxAuthor
value="<%=rs.getString("Author")%>">
</td>
</tr>
</table>
<input type="hidden" name=hidRecID
value=<%=rs.getInt("ID")%>><p></p>
<input type="submit" value="进行修改" name=submit3>
<a href=bianji.jsp>放弃修改</a>
</form>
<%
}
String strDEL="DELETE * FROM Book WHERE ID ="+
HID;
stmt.executeUpdate(strDEL);
strSQL="INSERT INTO Book(BookID,Title,"+
"Author)Values('"+
request.getParameter("tbxBookID")+"','"+
request.getParameter("tbxTitle")+"','"+
request.getParameter("tbxAuthor")+"')";
stmt.executeUpdate(strSQL);
strSQL="SELECT * FROM Book WHERE"+
"BookID='"+BID+"'";
rs=stmt.executeQuery(strSQL);
rs.next();
%>
<%=BID%>
<p>修改后的数据如下:</p>
<table width="75%" border="1">
<tr>
<td width="48%"><b>书籍标号</b> </td>
<td width="52%"><b>书 号</b> </td>
</tr>
<tr>
<td><b><%=rs.getString("ID")%></b> </td>
<td><b><%=rs.getString("BookID")%></b> </td>
</tr>
<tr>
<td><b>书 名</b> </td>
<td><b>作 者</b> </td>
</tr>
<tr>
<td><b><%=rs.getString("Title")%></b> </td>
<td><b><%=rs.getString("Author")%></b> </td>
</tr>
</table>
<p><a href=bianji.jsp>还要进行修改</a></p>
<%
}
%>
</body>
</html>
1:我的数据库连接上了的,我能够查找数据库并将记录输出;
2:我的程序能够运行,
3:但是只要点击“修改”按扭:分为2种情况:(1)如果数据库里存在要修改的数据就出错
为“javax.servlet.ServletException: [Microsoft][ODBC SQL Server Driver]无效的描述符索引”;
(2)如果数据库里没有存在修改的数据就能够运行~~