-1
以下代碼是通過單擊HTML中的提交按鈕來從數據庫獲取數據,通過JSP更新和設置數據到數據庫。通過單擊JSP中的提交按鈕將數據插入MySQL數據庫
<%
String CONN_STRING = "jdbc:mysql://localhost/pmsdb";
String USERNAME = "dbuser";
String PASSWORD = "dbpassword";
Connection conn=null;
ResultSet rs =null;
ResultSet rs2 =null;
Statement stmt=null;
Statement stmt2=null;
PreparedStatement pst=null;
PreparedStatement pst2=null;
PreparedStatement pst3=null;
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(CONN_STRING, USERNAME, PASSWORD);
String pno = request.getParameter("PONo");
String sql = "SELECT * FROM purchaseorderinfo WHERE PONo='"+pno+"'";
String sql2 ="SELECT * FROM itemspoinfo WHERE PONo='"+pno+"'";
stmt = conn.createStatement();
rs=stmt.executeQuery(sql);
stmt2=conn.createStatement();
rs2=stmt2.executeQuery(sql2);
%>
<%
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(CONN_STRING, USERNAME, PASSWORD);
if(request.getParameter("btnacc")!=null){
//getting todaydate
Date date = new Date();
Timestamp timestamp = new Timestamp(date.getTime());
String sql3="UPDATE itemspoinfo SET AorD=1 WHERE PONo='"+pno+"'";
pst = conn.prepareStatement(sql3);
pst.execute();
String sql4="INSERT INTO pointoinvoce (InvoiceDate, Company, ItemName, Qty, Price, PONo) VALUES (?,?,?,?,?,?)";
pst2=conn.prepareStatement(sql4);
int noofdrugs=0;
while(rs2.next() && rs.next()){
String name =rs2.getString("ItemName");
String qty = rs2.getString("Qty");
pst2.setTimestamp(1, timestamp);
pst2.setString(2, rs.getString("Supplier"));
pst2.setString(3, name);
pst2.setString(4, qty);
pst2.setString(5, rs2.getString("Price"));
pst2.setString(6, pno);
pst2.addBatch();
noofdrugs++;
}
pst2.executeBatch();
}
if(request.getParameter("btnde")!=null){
String sql5="UPDATE itemspoinfo SET AorD=1 WHERE PONo='"+pno+"'";
pst3= conn.prepareStatement(sql5);
pst3.execute();
}
%>
<div class="row">
<div class="col-md-12">
<div class="citydetails">
<div class="panel panel-primary">
<div class="panel-heading">Purchase Order Details</div>
<div class="panel-body">
<table class="table">
<thead>
<tr>
<th>Purchase Order <%=request.getParameter("PONo") %></th>
</tr>
</thead>
<tbody>
<tr>
<td>
<% if(rs.next()){ %>
Purchase Order Date : <%= rs.getString("PODate") %><br>
Expected Date : <%=rs.getString("ExpectedDate") %> <br>
<% } %>
<table class="table">
<tbody>
<tr>
<th>Items</th>
<th>Quantity</th>
</tr>
<% while (rs2.next()){ %>
<tr>
<td><%=rs2.getString("ItemName")%></td>
<td><%=rs2.getString("Qty")%></td>
</tr>
<% } %>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<button type="submit" name="btnacc" class="btn btn-primary accept" id="btnacc" onclick="clickabtn()">Accept</button>
<button type="submit" name="btnde" class="btn btn-primary accept" id="btnde" onclick="clickdbtn()">Decline</button>
</div>
</div>
</div>
</div>
</div>
但當點擊btnacc按鈕沒有任何反應數據庫中的表。
而當btnde按鈕被點擊時,數據庫表中沒有任何反應。
這裏有什麼錯誤,請幫我解決這個問題?
'jdbc' url中缺少端口號? jdbc:mysql:// localhost':3306'/pmsdb。確保數據庫連接已建立,對'conn'對象執行'null'檢查,以便您知道db是否已連接以及流程將到達何處。 – Sridhar