我對Java編程頗爲陌生,目前正在使用MVC體系結構開發我的第一個Web應用程序。但是我遇到了很多與我的應用程序有關的問題,我不知道它們爲什麼會發生。比如我在我的JSP頁面下面的代碼:Java EE Web應用程序中的字符串或緩衝區長度異常
Connection connection = null;
PreparedStatement statement = null;
ResultSet rs = null;
String QueryString="";
String stuid="";
try {
QueryString = "SELECT Student_ID, Student_F_Name, Student_L_Name, Student_NIC, Student_Address, Student_DOB, Student_Email, Student_Gender, Course_Name, Batch_Name, Student_username, Student_password FROM Student WHERE Student_ID = ?";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
connection = DriverManager.getConnection("Jdbc:Odbc:UniversityDSN");
statement=connection.prepareStatement(QueryString);
stuid = session.getAttribute("studentid").toString();
statement.setString(1, stuid);
rs = statement.executeQuery();
在次此代碼的工作完美,但經過一段時間,這段代碼停止工作,它提供了一個錯誤:
信息:的SQLException:[微軟] [ODBC驅動程序管理器]無效的字符串或緩衝區長度
但是如果我修改上面的代碼如下:
String QueryString = "SELECT Student_ID, Student_F_Name, Student_L_Name, Student_NIC, Student_Address, Student_DOB, Student_Email, Student_Gender, Course_Name, Batch_Name, Student_username, Student_password FROM Student WHERE Student_ID = ?";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
Connection connection = DriverManager.getConnection("Jdbc:Odbc:UniversityDSN");
PreparedStatement statement=connection.prepareStatement(QueryString);
String stuid = session.getAttribute("studentid").toString();
statement.setString(1, stuid);
ResultSet rs = statement.executeQuery();
它將重新開始工作。但是有一段時間,這段代碼將再次停止工作,給出相同的異常,我必須按照以前的方式修改它。 但是,在這兩個時代,如果我調試它的代碼完美的作品。 這很煩人,因爲我不得不浪費大量時間修改我的代碼,這發生在JSP頁面,Servlet或我使用的Bean類中。 我真的很感激,如果有人可以建議我我做錯了什麼,我該如何避免這個問題?
MVC是一種模式而不是架構。 –
謝謝你的信息。正如我所說的,我仍然是一名學生,對於Java和MVC來說還很新穎。我會記住你的信息。儘管如果你能爲我的問題提供任何建議,我會非常感激。 再次感謝您:) –