Advertisement
Guest User

Untitled

a guest
Dec 10th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.05 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package jdbc_manh;
  7.  
  8. import java.io.DataInputStream;
  9. import java.io.DataOutputStream;
  10. import java.io.IOException;
  11. import java.net.ServerSocket;
  12. import java.net.Socket;
  13. import java.sql.Connection;
  14. import java.sql.DriverManager;
  15. import java.sql.PreparedStatement;
  16. import java.sql.ResultSet;
  17.  
  18. /**
  19. *
  20. * @author letro
  21. */
  22. public class JDBC_server {
  23.  
  24. /**
  25. * @param args the command line arguments
  26. */
  27. // JDBC driver name and database URL
  28. static final String JDBC_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
  29. static final String DB_URL = "jdbc:sqlserver://localhost:9090; databaseName=JDBC_SinhVien;";
  30. // Database credentials
  31. static final String DB_USER = "sa";
  32. static final String DB_PASS = "lapTopvaio0305";
  33. static final int PORT=1337;
  34. static String menu= "MENU: \n1.Xem diem. \n2.Nhap diem \n3.Sua diem \n3.Ket thuc.";
  35. public static class ClientHandler extends Thread
  36. {
  37. Socket sock;
  38. DataInputStream rec;
  39. DataOutputStream send;
  40. public ClientHandler(Socket sock,DataOutputStream send,DataInputStream rec) {
  41. this.sock = sock;
  42. this.send = send;
  43. this.rec= rec;
  44. }
  45.  
  46. @Override
  47. public void run() {
  48. super.run(); //To change body of generated methods, choose Tools | Templates.
  49. Connection conn = null;
  50. PreparedStatement ps = null;
  51. try {
  52. //STEP 2: Register JDBC driver
  53. Class.forName(JDBC_DRIVER);
  54. //STEP 3: Open a connection
  55. System.out.println("Connecting to a selected database...");
  56. conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASS);
  57. System.out.println("Connected database successfully...");
  58. //STEP 4: Start working with menu
  59. String username, password, sqlString;
  60. ResultSet rs = null;
  61. boolean check = false;
  62. while(check)
  63. {
  64. username = rec.readUTF();
  65. password = rec.readUTF();
  66. sqlString= "SELECT username, passsword FROM TaiKhoan WHERE username=? and password =?;";
  67. ps = conn.prepareStatement(sqlString);
  68. ps.setString(1,username);
  69. ps.setString(2, password);
  70. rs = ps.executeQuery();
  71. if(rs.isBeforeFirst())
  72. check =true;
  73. else
  74. send.writeUTF("Tai Khoan/Mat Khau khong dung.");
  75. }
  76. send.writeUTF(menu);
  77. boolean tieptuc= true;
  78. while (tieptuc==true)
  79. {
  80. int choose;
  81. do
  82. {
  83. choose=rec.readInt();
  84. if(choose<1||choose>4)
  85. send.writeUTF("Nhap khong hop le. Nhap lai!!");
  86. }while(choose<1||choose>4);
  87. switch(choose)
  88. {
  89. case 1:
  90. String mssv;
  91. mssv = rec.readUTF();
  92. sqlString ="SELECT * FROM ThongTin WHERE MaSV= ?;";
  93. ps = conn.prepareStatement(sqlString);
  94. ps.setString(1, mssv);
  95. rs = ps.executeQuery();
  96. if(!rs.isBeforeFirst())
  97. {
  98. send.writeUTF("Ma So Sinh Vien Khong Dung!!");
  99. }
  100. else
  101. {
  102. rs.next();
  103. String xemDiem = "THONG TIN SINH VIEN: \n 1.MSSV: "+ rs.getString(1).trim()+
  104. "\n 2.Ho va ten: "+rs.getString(2).trim()+ "\n 3.Diem Trung Binh: "+ rs.getFloat(3);
  105. send.writeUTF(xemDiem);
  106. }
  107. break;
  108. case 2:
  109. String maSV,kq="";
  110. maSV = rec.readUTF();
  111. sqlString = "SELECT * FROM ThongTin WHERE MaSV= ?;";
  112. ps = conn.prepareStatement(sqlString);
  113. ps.setString(1, maSV);
  114. rs = ps.executeQuery();
  115. if(!rs.isBeforeFirst())
  116. {
  117. String hoTen = rec.readUTF();
  118. float diemTB = rec.readFloat();
  119. String sqlStringInsert ="INSERT INTO ThongTin(MaSV,HoTen,DiemTb) VALUES(?,?,?);";
  120. ps = conn.prepareStatement(sqlStringInsert);
  121. ps.setString(1, maSV);
  122. ps.setString(2, hoTen);
  123. ps.setFloat(3, diemTB);
  124. try {
  125. if (ps.executeUpdate()>0)
  126. kq= "Nhap Diem Thanh Cong!!";
  127. else
  128. kq ="Nhap Diem That Bai@@";
  129. } catch (Exception e) {
  130. System.err.println("Loi SQL");
  131. }
  132. }
  133. else
  134. {
  135. kq="MA SO SINH VIEN Da Co!!. Moi sang Sua Thong Tin!!!";
  136. }
  137. send.writeUTF(kq);
  138. break;
  139. case 3:
  140. kq="";
  141. maSV = rec.readUTF();
  142. sqlString = "SELECT * FROM ThongTin WHERE MaSV= ?;";
  143. ps = conn.prepareStatement(sqlString);
  144. ps.setString(1, maSV);
  145. rs = ps.executeQuery();
  146. if(rs.isBeforeFirst())
  147. {
  148. String hoTen = rec.readUTF();
  149. float diemTB = rec.readFloat();
  150. String sqlStringInsert ="UPDATE ThongTin SET HoTen=?,DiemTB=? WHERE MaSV=?";
  151. ps = conn.prepareStatement(sqlStringInsert);
  152. ps.setString(1, hoTen);
  153. ps.setFloat(2, diemTB);
  154. ps.setString(3, maSV);
  155. try {
  156. if (ps.executeUpdate()>0)
  157. kq= "Cap Nhat Thanh Cong!!";
  158. else
  159. kq ="Cap Nhat That Bai@@";
  160. } catch (Exception e) {
  161. System.err.println("Loi SQL");
  162. }
  163. }
  164. else
  165. {
  166. kq="Ma Sinh Vien Khong Dung.";
  167. }
  168. send.writeUTF(kq);
  169. break;
  170. case 4:
  171. tieptuc= false;
  172. default:
  173. break;
  174. }
  175. }
  176. //STEP 5: Clean-up environment
  177. if(rs!=null) rs.close();
  178. ps.close();
  179. conn.close();
  180. } catch (Exception e) {
  181. System.err.println("Loi database!!");
  182. }
  183. finally{
  184. try{
  185. if(ps!=null) ps.close();
  186. if(conn!=null && !conn.isClosed()) conn.close();
  187. }
  188. catch(Exception e){}
  189. }
  190. }
  191.  
  192. }
  193. public static void main(String[] args) throws IOException {
  194. // TODO code application logic here
  195. ServerSocket ss = new ServerSocket(PORT);
  196. System.out.println("Server Dang mo PORT: "+ PORT);
  197. while(true)
  198. {
  199. Socket sv= ss.accept();
  200. System.out.println("Co 1 yeu cau ket noi!!!");
  201. DataInputStream rec= new DataInputStream(sv.getInputStream());
  202. DataOutputStream send = new DataOutputStream(sv.getOutputStream());
  203. ClientHandler a = new ClientHandler(sv,send,rec);
  204. a.start();
  205. }
  206.  
  207. }
  208.  
  209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement