簡體   English   中英

JDBC和JSP數據庫連接

[英]JDBC and JSP Database connection

嘿,所以我現在有點困惑。 我這里有一些system.out.print代碼,所以我可以找出問題所在。 無論如何,這是我得到的錯誤,它被包含在涉及實際SQL查詢的try / catch中。

無論如何,這是我的代碼。

JSP頁面

<%@ page import="webtest.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>


<%String username = request.getParameter("username");
String password = request.getParameter("password");
UserNameCheck unc = new UserNameCheck();
%>
<H1>
<%=unc.LoginResults("select name,password from mattroepracticetable" +
        " where name='"+username+"' and password='"+password+"' ")%>

</H1>
</body>
</html>

這是UserNameCheck類

package webtest;

import java.sql.*;
public class UserNameCheck{
DWConnect dwc = new DWConnect();

public String LoginResults(String sql){
Statement stmt;
ResultSet rslt;
System.out.println(sql);
String V=null;
try{
    stmt = dwc.conn.createStatement();
    System.out.print(sql);
    rslt = stmt.executeQuery(sql);
    if (rslt.next()){
         V = rslt.getString("username");
        System.out.print("hey");
    }
    else V = "Invalid UserName or Password";
    System.out.print("not hey");
}
catch (Exception e){System.out.print(e);}
return V;
}
}

無論如何,我收到的錯誤如下

select name,password from mattroepracticetable where name='MattRoe' and password='MattRoe' java.sql.SQLException: Invalid column name

但是,如果我直接將SQL表達式復制並粘貼到SQLplus,則可以正常工作。
我知道您應該在jspinit中初始化數據庫連接,但是我也認為您可以通過這種方式進行。
如果有人可以解釋我哪里出了問題,請告訴我如何通過jspinit進行設置,或者只是我通常如何進行設置即可。

您的查詢是:

select
   name,password from mattroepracticetable
where 
   name='"+username+"' and password='"+password+"'"

但是您從ResultSet中嘗試讀取:

V = rslt.getString( "username" );

您應該將其更改為:

V = rslt.getString( "name" );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM