บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ Database

Java get Inserted key from Oracle insert statement

 บ่อยครั้งที่เรา Insert Data ลง table ใน Oracle โดยใช้  Value ที่ create ขึ้นเองที่ฝั่ง Database เช่น พวก Sysdate , Sequence ต่างๆ เป็นต้น บางครั้งถ้าค่าเหล่านี้คือ ID ที่เราต้องการนำไปใช้ต่อจะเกิดปัญหาว่าทางฝั่ง Java ไม่รู้จักค่าเหล่านี้ วันนี้มีตัวอย่างการแก้ปัญหานี้มาฝากครับ ยกตัวอย่าง เราต้องการ Insert ค่าลง table ด้วย statement นี้ String query = "INSERT INTO test_table (test_id,test_name) VALUES (test_seq.NEXTVAL,'Test')"; เทคนิคที่ต้องทำเพิ่มเติมคือ ตอนสร้าง statement ให้กำหนด Key Field ด้วยตาม ตัวอย่าง PreparedStatement ps = connection.prepareStatement(query, new String [] { "test_id" });   หลังจากที่เรา execute update แล้วเราจะสามารถ get ค่า Key ผ่าน Result Set ได้เลยครับ ตามตัวอย่างด้านล่าง    ps.executeUpdate() ResultSet rs = ps.getGeneratedKeys();   if (null != rs && rs.next()) {         studentId = rs.getString(1);  }

วิธี Reset Password root MySQL database

เคยเจอปัญหามั้ยครับเวลาติดตั้ง Database MySQL ไว้แล้วไม่ได้ใช้งานนานๆ จนลืม รหัสผ่าน root ไปเลย  เราเคยเจอตอนแรกกะว่าทำใจแระ แต่มาลองคิดดูอีกทีในเมื่อเราเป็นคน install เองแท้ๆ มันก็ต้องทำอะไรได้บ้างสินะ วิธีการ Reset Password root ของ MySQL ตามด้านล่างนี้เลยครับ 1. กรณี Window ให้ไป Stop service mysql ไว้ก่อนนะครับ เข้า control panel แล้วเลือก service หา mysql แล้ว กด Stop ครับ 2. สร้าง text file แล้ว เขียน statement ตามนี้เลย ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass'; จากนั้น Save เป็น text file ครับ ตั้งชื่ออะไรก็ได้นะเช่น mysql-init.txt 3. เข้า cmd ครับแล้วก็ cd ไปที่ path ที่เราลง mysql แล้วไปที่ folder bin ครับ จากนั้นพิมพ์คำสั่ง ดังนี้ mysqld --init-file=C:\\mysql-init.txt (ตย นี้เรา save file ไว้ที่ drive C อ่ะนะ) 4. เพียงเท่านี้ก็เรียบร้อยครับ เข้าไป start service mysql แล้วใช้งานด้วย password ใหม่ได้เลย ส่วนกรณีบน Linux ก็จะใช้อีกแบบนึงนะครับ