2014-05-01 121 views
0

这是我的代码插入数据的顺序colunm,但我的困惑是,我提供什么类型的值在users_id这是foriegn关键在订单表中我希望users_id通过当前记录的会话给值想要下订单的用户,其ID是save aginst他的订单记录代码在这里。如何通过会话获取ID

<% request.getSession().getAttribute("users_id");%> 
    <% String add = request.getParameter("add"); 
     String type = request.getParameter("order_type"); 
     String city = request.getParameter("city"); 
     String veh = request.getParameter("vehicles"); 
     String date = request.getParameter("order_date"); 
     String users_id = request.getParameter("users_id"); 
     Class.forName("com.mysql.jdbc.Driver"); 
     Connection con = 
      DriverManager.getConnection("jdbc:mysql://localhost:3306/auto_lube","root", "mehar"); 
    Statement st = con.createStatement(); 
    System.out.println(add); 
    //ResultSet rs; 
     int i = st.executeUpdate("INSERT INTO `user_order` (`id`, `address`, `order_type`, `city`, `vehicle`, `order_date`, `users_id`) VALUES (NULL, '"+add+"', '"+type+"', '"+city+"', '"+veh+"', '2','"+users_id+"')"); 
    %> 

回答

0

第一件事就是尽量避免使用JSP或任何设计页面上的代码。由于任何问题页面崩溃,您的代码将显示在页面上。所以使用像servlet这样的后端工具,但这是相当古老的,但对于学习的动摇你可以使用它。如果可能的话,使用休眠,它提供了非常好的支持。

并将您的数据传递给java代码,然后访问会话的数据。 如果可能的话,然后使用JSON传递订单详细信息,这在存储数据并访问它并将其更改到任何位置时非常有用。

假设你想编辑订购物品的数量等,那么每次你永远不必向服务器发送请求时,json会很有用。

使用准备好的语句在数据库中输入数据。 ,并使表order只有像用户ID(从会话获取)和订单号订单的详细信息。 和其他表ordermaster有订单号和订购项目,它的数量和价格,并订购时间和你想要的其他细节。所以这里的订单ID为ordermaster将在order表中被外键。