【发布时间】:2013-05-04 07:58:24
【问题描述】:
我遇到以下问题:
我已经制作了一个在 Apache Tomcat 上运行的 Web 应用程序。
我使用 Mysql 数据库作为我的应用程序的后端数据库。该应用程序只需提供一个用于输入行、更新和删除行的 GUI
问题是这样的,当我使用 MySql 数据库接口(通过直接传递 sql 查询)在我的数据库中插入新行时,我可以从我的 JSp 页面操作这些行(删除、选择、更新)
但是,如果我通过使用 JSP 页面(JDBC 连接)在数据库中输入新行,该行确实会被输入,但是我无法删除/选择/更新任何列
不显示错误。那么任何人都可以指出为什么会这样吗?以及如何解决这个问题?
谢谢
Here is the code for the jdbc Connection I use to insert the row in the Mysql database.
<%@page import="java.io.*"%>
<%@
page import="java.sql.*"
%>
<%
Connection connection = null;
Statement st = null;
ResultSet rs = null;
%>
<html>
<head><link href="style.css" rel ="stylesheet" type="text/css"></head>
<body bgcolor="white" >
<div id="container">
<div id="header">
<img src="logo.jpg">
<div class ="horiztext"><p> Order Tracker</p></div>
</div>
</div>
<br>
<img src="banner.jpg" width="1500 " height="5"><br>
<% if(session.getAttribute("username") !=null)
{
%>
<div id="navbar">
<ul>
<li><a href="newoder.jsp">New Order</a></li>
<li><a href="updateorder.jsp">Update Order</a></li>
<li><a href="trackorder.jsp">Track Order</a></li>
<li><a href="trackdelay.jsp">Track Delay</a></li>
<li><a href="vieworder.jsp">View Database</a></li>
<li><a href="delete.jsp">Delete Order</a></li>
<li><a href="logout.jsp">Logout</a></li>
</ul>
</div>
<br>
<%
String SNo=request.getParameter("Sno");
String ProductName=request.getParameter("ProductName");
String ProductType=request.getParameter("ProductType");
String Model=request.getParameter("Model");
String Make=request.getParameter("Make");
String LicenseVoucher=request.getParameter("LicenseVoucher");
String Location=request.getParameter("Location");
%>
<br>
<div align="center"><font size="6" color="black">
<br>
<%
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection=DriverManager.getConnection("jdbc:mysql://localhost:3307/test","root"
,"root");
st = connection.createStatement();
String query="insert into inventory values
(' "+SNo+" ',' "+ProductName+" ','"+ProductType+" ',' "+Model+" ',' "+Make+" ','
"+LicenseVoucher+" ',' "+Location+" ')";
st.execute(query);
out.println("DATA INSERTED");
}
catch(Exception e)
{
out.println("DATA NOT INSERTED");
}
%>
</font></div>
<%
}
else { %>
you are not logged in click here to <a href="eric.jsp"><b>login</b></a>
<%
} %>
</body>
</html>
【问题讨论】:
-
你能显示你使用的代码吗?
-
'...当我输入新行时...'输入?你的意思是插入还是选择? '问题是......我可以操纵......' WebApps 的一个常见概念是对数据的操纵,我不明白为什么这应该是一个问题!无论如何,我必须有创意才能理解你,你能告诉我你是否在任何连接到数据库的程序中使用事务(如果事务没有提交,数据不会改变)?
-
是的,我用代码更新了我的帖子。如果我直接从 Mysql 工作台插入行,我可以从 Web 应用程序(删除/更新/选择)中处理 mysql 数据库的行但是,如果我通过 Web 应用程序(使用 jdbc 连接)在 Mysql 数据库中插入行,我无法生成视图(通过选择)或从 Web 应用程序中删除/更新插入的行请帮助:|然而
标签: jsp jdbc mysql-workbench