الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

servlet problem with database

مغلق
بدأه eng_shosho في 26 يونيو 2005 · 15 رد · 1,153 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

[/assalamo alykom

this is hte servlet code i made to access database but it don't connect atall and as a result it couldn't define the parameters of database so make unresolve parameters error

pleas if any one know from where the error generate i'll be gratefull

my database access

thanks in advance

import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.sevlet.http.*;
import java.sql.*;
import java.lang.*;
import java.text.*;



//package ourresults1;

/**
*
* @author shereen
*/


/* Creates a new instance of Main */
// public Main() {
//}

/**
* @param args the command line arguments
*/
// public static void main(String[] args) {
public class urlWriteServle extends HttpServlet {

public void init () throws ServletException
{super.init(config);}

protected void doGet(HttpServletRequest req,HttpServletResponse res) 
throws ServletException,IoException
{ try
{
connection con=null;
statement stmt=null;
String account=req.getParameter("account");
String pwd=req.getParameter("password");
String outp=accuntLookUp(acct,pwd);
String con;
if(outp==null)
{
res.sendError(res.sc_BAD_REQUEST,"unable to locate account");
return;
}
char array=req.getPrameter(str);
String s=new String(array);
int len=str.lenght();
char x=s.charAt(0);
switch (x)
{

case 1: //call the serviceLookUp(s) method:
          serviceLookup(s.subString(1,len), req, res);
          break;

        case 2: //similar for placeLookUp(s) method:
          placeLookUp(s.subString(1,len), req, res);
          break;

case 3:

  timeTableLookUp(s.subString(1,len),req,res);
break;
case 4 :

 examLookUp(s.subString(1,len),req,res);
break;
case 5:
 emptyClassLookUp(s.subString(1,len),req,res);
break;
case 6:
  marksLookUp(s.subString(1,len),req,res);
break;
default:
return;
}
res.setcontentType("Text/plain");
printWriterOut=res.getWriter();
out.print(mark);
out.print(grade);

out.close();
}
finally
{
if (istrm!=null)
istrm.close();
if(istrm!=null)
ostrm.close();
}
}
 public void serviceLookUp(String s, HttpServletRequest req,HttpServletResponse res) 

  {
class_forName("sun.Jdbc.odbc.Jdbcodbc Driver"); 
con=driverManager.getConnection("C:/My Documents/TIME TABLE");
statement stmt=con.createStatement();
Resultset rs =stmt.executeQuery("select lectureplace from TIMETABLE where Dept='"+s.subString(7,9)+"'AND'"+sec=s.subString(9,11)+"' AND '"+lecno=s.charAt(11)+"' AND '"+day =s.charAt(12)+"'");

if (rs.next())
{
res.setcontentType("Text/plain");
printWriterOut=res.getWriter();
out.print(lecplace);
out.close();
}
else
return;}
public void placeLookUp(String s, HttpServletRequest req,HttpServletResponse res) 


{ class_forName("sun.Jdbc.odbc.Jdbcodbc Driver"); 
con=DriverManager.getConnection("C:/My Documents/TIME TABLE");
statement stmt=con.createStatement();
Resultset rs =stmt.executeQuery("select lecturepath from locationtable where lecture place='" + s.substring(7,10) + "'");  

if (rs.next())
{
res.setcontentType("Text/plain");
printWriterOut=res.getWriter();
out.print(lecturepath);
out.close();
}
else
return;
}
public void timeTableLookUp(String s, HttpServletRequest req,HttpServletResponse res) 

{ int i = 0;
class_forName("sun.Jdbc.odbc.Jdbcodbc Driver"); 
con=DriverManager.getConnection("C:/My Documents/TIME TABLE");
statement stmt=con.createStatement();
Resultset rs =stmt.executeQuery("select lecturename,lecplace,lecno from Timetable where dept=' "+s.subString(7,9)+"' AND '"+sec=subString (9,11)+"'");

if (rs.next())
{
if (rs.getNumRecord()>0)
{ for(i=0;i<12;i++)
if (rs.gerRecordSize(i)>recData.length)
{ rec.data=new byte [rs.getRecordSize(i)];
len1=rs.getRecord(i,recdata,0);
output=new String(recdata);
}
res.setcontentType("Text/plain");
printWriterOut=res.getWriter();
out.print(lecturename);
out.print(lectureplace);
out.print(lecno);
out.close();
}
else
return;
}}
public void examLookUp(String s, HttpServletRequest req,HttpServletResponse res) 

{int i=0;
class_forName("sun.Jdbc.odbc.Jdbcodbc Driver"); 
con=DriverManager.getConnection("C:/My Documents/TIME TABLE");
statement stmt=con.createStatement();
Resultset rs =stmt.executeQuery("select date ,subject,place from examtable  where dept='"+s.subString(7,9)+"'"); 

if (rs.next())
{
if (rs.getNumRecord()>0)
{ for(i=0;i<12;i++)
if (rs.gerRecordSize(i)>recData.length)
{ rec.data=new byte [rs.getRecordSize(i)];
len1=rs.getRecord(i,recdata,0);
output=new String(recdata);
}
res.setcontentType("Text/plain");
printWriterOut=res.getWriter();
out.print(date);
out.print(subject);
out.print(place);
out.close();
}
else
return;
}}

public void emptyClassLookUp(String s, HttpServletRequest req,HttpServletResponse res) 

{
class_forName("sun.Jdbc.odbc.Jdbcodbc Driver"); 
con=drivermanager.getConnection("C:/My Documents/TIME TABLE");
statement stmt=con.createStatement();
Resultset rs =stmt.executeQuery("select class1 from emptyplacetable where date ='"+s.subString(7,15)+"'");


if (rs.next())
{

res.setcontentType("Text/Plain");
print writeout=res.getWriter();
out.print(class1);
out.close ();
}
else
return;
}
public void marksLookUp(String s, HttpServletRequest req,HttpServletResponse res) 

{int i = 0;
class_forName("sun.Jdbc.odbc.Jdbcodbc Driver"); 
con=DriverManager.getConnection("C:/My Documents/TIME TABLE");
statement stmt=con.createStatement();
Resultset rs =stmt.executeQuery("select mark,grade from timetable where studentname='"+s.subString(7,58)+"' AND'"+ dept=s.subString(58,01)+"'");

if (rs.next())
{
if (rs.getNumRecord()>0)
{ for(i=0;i<12;i++)
if (rs.gerRecordSize(i)>recData.length)
{ rec.data=new byte [rs.getRecordSize(i)];
len1=rs.getRecord(i,recdata,0);
output=new String(recdata);
}
res.setcontentType("Text/plain");
printWriterOut=res.getWriter();
out.print(mark);
out.print(grade);

out.close();
}
else
return;
}
}
}
#2

assalamo alykom

isn't there any solution to this problem please any respond its very important to me the main problem again is the connection with the database.

wait for any reply

#3

ما هو الخطا الذي يعيده لك ... و هل قمت بتعريف القاعدة في لوحة التحكم في الويندوز

اختبره مع قاعدة بيانات اخرى مثلا (Mysql )

ان شاء الله بكره احاول اقرء الكود

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#4

assalamo alykom

thanks for ur fast response the problem as mentioned in first message is that the parameters are un resolved and i conclude that its due to the database as i can't connect to it and see the parameters.

i don't know what do u mean by

هل قمت بتعريف القاعدة في لوحة التحكم في الويندوز

what i do is the definition of the database path in the code itself as its place on my machine.

thanks again ,waiting for ue reply after reading the code.

#5

رد سريع آخر... لم اطلع على الكود بشكل جيد و لكن من نظرة اولية ثانية اجد ان

C:/My Documents/TIME TABLE

هذه غريبة علي انا عندما كنت استعمل ملفات كقاعدة بيانات كنت استعمل كلاسات التابعة للمفات و ليس التابعة لقواعد البيانات حيث استعمل التوابع الخاصة بقواعد البيانات عندما تكون القاعدة من الشكل

localhost:5314/ramydb

او شئ من هذا القبيل... يعني اذا اردت التخزين و الاستعراض من ملف يوجد لدي كود كتبته من كذا سنة يتعامل مع ملف اكسل بالتخزين و الاسترجاع و بكل سلاسة و بعدها انتقلت الى التعامل مع mySql

ما رايك هل احضر لك الكود من تحت الركام اذا كان لا يفيدك قول لي حتى ما اتعذب و ادور عليه كذا ساعة

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#6

ضع اسم قاعدة البيانات في ODBC في لوحة التحكم ثم تناول القاعدة عن طريق اسمها الذي تختاره في لوحة التحكم!!

#7
  s=Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  con = DriverManager.getConnection("jdbc:odbc:TheNameOfTheODBCDataBaseIChoose");
#8

assalamo alykom

thanks alot for all who reply

please ramy if u send the code i'll be gratefull

gazakom allah kol 5ir

i'll wait for the reply

thanks in advance

#9

حسنا سوف ابحث لك عنه و انه كان يستخدم حزمة io و يترك فواصل بين البيانات و يرجع و يقرءها و يميزها بسبب الفراغ او الفاصلة التي بينهم و تحدد له العمود و الصف و تنفذ مختلف العمليات عليه... و صارله حوالي ثلاث سنين اول ما تعلمت JSP يعني الله يعيني لبين ما الاقيه

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#10

assalamo alykom

thanks for ur help i make the changes u told me about i nthe previous messages but really the errors remain please check if the changes i made is true i changed in the connection establishment and call of the database

please ramy if its hard to get ur example please check mine if u don't mind list me the error if its in logic thinking or syntax.

thanks in advance.

import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.sevlet.http.*;
import java.sql.*;
import java.lang.*;
import java.text.*;



//package ourresults1;

/**
*
* @author shereen
*/


/* Creates a new instance of Main */
// public Main() {
//}

/**
* @param args the command line arguments
*/
// public static void main(String[] args) {
public class urlWriteServle extends HttpServlet {

public void init () throws ServletException
{super.init(config);}

protected void doGet(HttpServletRequest req,HttpServletResponse res) 
throws ServletException,IoException
{ try
{
connection con=null;
statement stmt=null;
String account=req.getParameter("account");
String pwd=req.getParameter("password");
String outp=accuntLookUp(acct,pwd);
String con;
if(outp==null)
{
res.sendError(res.sc_BAD_REQUEST,"unable to locate account");
return;
}
char array=req.getPrameter(str);
String s=new String(array);
int len=str.lenght();
char x=s.charAt(0);
switch (x)
{

case 1: //call the serviceLookUp(s) method:
          serviceLookup(s.subString(1,len), req, res);
          break;

        case 2: //similar for placeLookUp(s) method:
          placeLookUp(s.subString(1,len), req, res);
          break;

case 3:

  timeTableLookUp(s.subString(1,len),req,res);
break;
case 4 :

 examLookUp(s.subString(1,len),req,res);
break;
case 5:
 emptyClassLookUp(s.subString(1,len),req,res);
break;
case 6:
  marksLookUp(s.subString(1,len),req,res);
break;
default:
return;
}
res.setcontentType("Text/plain");
printWriterOut=res.getWriter();
out.print(mark);
out.print(grade);

out.close();
}
finally
{
if (istrm!=null)
istrm.close();
if(istrm!=null)
ostrm.close();
}
}
 public void serviceLookUp(String s, HttpServletRequest req,HttpServletResponse res) 

  {
class_forName("sun.Jdbc.odbc.Jdbcodbc Driver"); 
con=driverManager.getConnection("jdbc:odbc:localhost:TIMETABLEdb");
statement stmt=con.createStatement();
Resultset rs =stmt.executeQuery("select lecturetable.lectureplace from lecturetable  where Dept='"+s.subString(7,9)+"'AND'"+sec=s.subString(9,11)+"' AND '"+lecno=s.charAt(11)+"' AND '"+day =s.charAt(12)+"'");

if (rs.next())
{
res.setcontentType("Text/plain");
printWriterOut=res.getWriter();
out.print(lecplace);
out.close();
}
else
return;}
public void placeLookUp(String s, HttpServletRequest req,HttpServletResponse res) 


{ class_forName("sun.Jdbc.odbc.Jdbcodbc Driver"); 
con=DriverManager.getConnection("jdbc:odbc:localhost:TIMETABLEdb");
statement stmt=con.createStatement();
Resultset rs =stmt.executeQuery("select locationtable.lecturepath from locationtable where locationtable.lecture place='" + s.substring(7,10) + "'");  

if (rs.next())
{
res.setcontentType("Text/plain");
printWriterOut=res.getWriter();
out.print(lecturepath);
out.close();
}
else
return;
}
public void timeTableLookUp(String s, HttpServletRequest req,HttpServletResponse res) 

{ int i = 0;
class_forName("sun.Jdbc.odbc.Jdbcodbc Driver"); 
con=DriverManager.getConnection("jdbc:odbc:localhost:TIMETABLEdb");
statement stmt=con.createStatement();
Resultset rs =stmt.executeQuery("select lecturetable.lecturename,lecturetable.lecplace,lecturetable.lecno from lecturetable. where lecturetable.dept=' "+s.subString(7,9)+"' AND lecturetable.sec'"+s.subString (9,11)+"'");

if (rs.next())
{
if (rs.getNumRecord()>0)
{ for(i=0;i<12;i++)
if (rs.gerRecordSize(i)>recData.length)
{ rec.data=new byte [rs.getRecordSize(i)];
len1=rs.getRecord(i,recdata,0);
output=new String(recdata);
}
res.setcontentType("Text/plain");
printWriterOut=res.getWriter();
out.print(lecturename);
out.print(lectureplace);
out.print(lecno);
out.close();
}
else
return;
}}
public void examLookUp(String s, HttpServletRequest req,HttpServletResponse res) 

{int i=0;
class_forName("sun.Jdbc.odbc.Jdbcodbc Driver"); 
con=DriverManager.getConnection("jdbc:odbc:localhost:TIMETABLEdb");
statement stmt=con.createStatement();
Resultset rs =stmt.executeQuery("select examtable.date , examtable.subject, examtable.place from examtable  where examtable.dept='"+s.subString(7,9)+"'"); 

if (rs.next())
{
if (rs.getNumRecord()>0)
{ for(i=0;i<12;i++)
if (rs.gerRecordSize(i)>recData.length)
{ rec.data=new byte [rs.getRecordSize(i)];
len1=rs.getRecord(i,recdata,0);
output=new String(recdata);
}
res.setcontentType("Text/plain");
printWriterOut=res.getWriter();
out.print(date);
out.print(subject);
out.print(place);
out.close();
}
else
return;
}}

public void emptyClassLookUp(String s, HttpServletRequest req,HttpServletResponse res) 

{
class_forName("sun.Jdbc.odbc.Jdbcodbc Driver"); 
con=drivermanager.getConnection("jdbc:odbc:localhost:TIMETABLEdb");
statement stmt=con.createStatement();
Resultset rs =stmt.executeQuery("select reservedplaces.place from emptyplacetable where reservedplaces.date ='"+s.subString(7,15)+"'");


if (rs.next())
{

res.setcontentType("Text/Plain");
print writeout=res.getWriter();
out.print(class1);
out.close ();
}
else
return;
}
public void marksLookUp(String s, HttpServletRequest req,HttpServletResponse res) 

{int i = 0;
class_forName("sun.Jdbc.odbc.Jdbcodbc Driver"); 
con=DriverManager.getConnection("jdbc:odbc:localhost:TIMETABLEdb");
statement stmt=con.createStatement();
Resultset rs =stmt.executeQuery("select markstable.mark,markstable.grade from markstable where markstable.studentname='"+s.subString(7,58)+"' AND'"+ markstable.dept=s.subString(58,01)+"'");

if (rs.next())
{
if (rs.getNumRecord()>0)
{ for(i=0;i<12;i++)
if (rs.gerRecordSize(i)>recData.length)
{ rec.data=new byte [rs.getRecordSize(i)];
len1=rs.getRecord(i,recdata,0);
output=new String(recdata);
}
res.setcontentType("Text/plain");
printWriterOut=res.getWriter();
out.print(mark);
out.print(grade);

out.close();
}
else
return;
}
}
}
#11

assalamo alykom

isn't there any new news i really worried about this problem

thanks for all who cares

assalamo alykom

#12

انت ليش كل طريقة تعيد الاتصال انا عامل طريقة اسمها conn() تقوم بالاتصال فقط و استدعيها كل مرة يعني انت مطول الكود على الفاضي

و بالنسبة للكود الا ما الاقيه ... الآن سوف ابحث عنه بشكل شامل لانه اجد ان اريح لك بالتعامل مع الملفات اذا كان ما تريده هو التعامل مع localhost احسن ما تعرف القاعدة كل مرة على كل جهاز تريد تشغيل البرنامج عليه

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#13

assalamo aykom

thanks for ur reply but i really couldn't understand what u said about the connection part is it wrong to connect each time ,i mean the error present due to this part or its wrong from its appearance and have no effect on the code compilation

thanks in advance

#14

لا لا اظن هو سبب الخطا و لكنه امر غير مستحب فهو يطيل من حجم الكود و في سبيل برمجة اكثر احترافية يجب ان يكود اقصر ما يمكن ...

و للاسف امبارح صار عندي مشوار ضروري و ما بحثت لك سوف احاول الآن

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#15

وجدت الملف و لكن هنالك ملفات اخرى كنت استفدت منها و لكنها ضاعت

المهم هذا ما تريده و هذا ما كنت احدثك عنه طبعا هذا في صفحة جي اس بي

هذا هو رابط الموضوع

http://www.arabteam2000.com/forums/index.php?showtopic=69936

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#16

و لكنني لا اعتقد ان هذه الطريقة عملية للاستخدام في موقع جي اس بي و الافضل التعامل مع قاعدة بيانات... اليس كذلك؟

الحياة كلها وقفة عز فقط

------------------------------------------

المجتمع معرفة و المعرفة قوة

هذا الموضوع مغلق.

مواضيع مشابهة