Skip to main content

Introduction to Java Database Connectivity (JDBC) PATH 1

What is JDBC?
JDBC is an interface which allows Java code to execute SQL statements inside relational databases
- the databases must follow the ANSI SQL-2 standard



The JDBC-ODBC Bridge
- ODBC (Open Database Connectivity) is a Microsoft standard from the mid 1990’s.
- It is an API that allows C/C++ programs to execute SQL inside databases
- ODBC is supported by many products.
-The JDBC-ODBC bridge allows Java code to use the C/C++ interface of ODBC
         - it means that JDBC can access many different database products
- The layers of translation (Java --> C --> SQL) can slow down execution.
- The JDBC-ODBC bridge comes free with the JDK:
         - called sun.jdbc.odbc.JdbcOdbcDriver
- The ODBC driver for Microsoft Access comes with MS Office
         - so it is easy to connect Java and Access

Four Kinds of JDBC Driver
1.  JDBC-ODBC Bridge
         - translate Java to the ODBC API
2.  Native API
        - translate Java to the database’s own API
3.  Native Protocol
        - use Java to access the database more directly using its low level protocols
4.  Net Protocol
        - use Java to access the database via networking middleware (usually TCP/IP)
        - required for networked applications

JDBC Drivers
- A searchable list of drivers (freeware, shareware, and commercial) can be found at: http://developers.sun.com/product/jdbc/drivers

JDBC PseudoCode
All JDBC programs do the following:
1) load the JDBC driver
2) Specify the name and location of the database being used
3) Connect to the database with a Connection object
4)  Execute a SQL query using a Statement object
5) Get the results in a ResultSet object
6)  Finish by closing the ResultSet, Statement and Connection objects


DriveManager
It is responsible for establishing the connection to the database through the driver.
e.g.
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn =      DriveManager.getConnection(url);

Name the Database  
The name and location of the database is given as a URL
        - the details of the URL vary depending on the type of database that is being used

ODBC Database URL


Statement Object
The Statement object provides a ‘workspace’ where SQL queries can be created, executed, and results collected.
e.g.
Statement st = conn.createStatement():
        ResultSet rs = st.executeQuery( “ select * from Authors” );
:
       st.close();

ResultSet Object
- Stores the results of a SQL query.
- A ResultSet object is similar to a ‘table’ of answers, which can be examined by moving a ‘pointer’ (cursor).


- Cursor operations:
     -  first(), last(), next(), previous(), etc.
- Typical code:
while( rs.next() ) {
       // process the row;
        }

Output


Username & Password
The database’s link to the outside (e.g. its ODBC interface) must be configured to have a login and password
   -  details for ODBC are given later

Accessing a ResultSet
_ The ResultSet class contains many methods for accessing the value of a column of the current row
    -  can use the column name or position
       e.g. get the value in the lastName column:   rs.getString("lastName")

- The ‘tricky’ aspect is that the values are SQL data, and so must be converted to Java types/objects.
- There are many methods for accessing/converting the data,
        e.g.  getString(), getDate(), getInt(), getFloat(), getObject()



Comments

Popular posts from this blog

Source file not compile Dev C++ win 8, win 8.1 , win10

เห็นใครหลายๆลง  Dev-C++ บน Windows 8,8.1,10 แล้วมันเกิดปัญหาขึ้นคือ พอเขียนโค๊ดโปรแรมเสร็จ แล้วกด Compile ปรากฏว่า โปรแกรมขึ้นแจ้งเตือน "Source file not compile" จึงหันไปลง X-Code กันเพื่อแก้ปัญหา  ผมก็อยากลองดูว่าจริงหรือเปล่า และพอจะแก้ได้ไหม เพราะว่า รุ่นน้องที่ลงแลปวิชาภาษา C ในมหาลัยผม จะสอนใช้ Text-Editor+Compiler ตัวนี้ ก็เลยไปโหลดมาติดตั้ง ปรากฏว่าเป็นจริงๆ TT ( ผมโหลดเจ้าตัว Dev-C++ 5.0 beta 9.2 (4.9.9.2) with Mingw/GCC 3.4.2มาลอง) ก็เลยลงมือแก้หาสาเหตุดู ปรากฏว่า เจอปัญหาที่ gcc ของ MinGW ใน Packet ของ DevC++ ยังเป็นรุ่นเก่า พออัพเดทใหม่แล้วได้ เลยคิดว่า สาเหตุน่าจะเกิดปัญหามาจากตัวนี้ ก็เลยเอาวิธีมาแชร์ๆกัน


Update 11/10/2014 --------------
เนื่องจาก MinGW (Minimalist GNU for Windows) ได้เปลี่ยน UI ใหม่ บางท่านอาจงง



Dev-C++ 5.0 beta 9.2 (4.9.9.2) with Mingw/GCC 3.4.2
วิธีการแก้ง่ายนิดเดียวครับ!!
ก็คือ ลง MinGW ใหม่ โหลดตามลิ้งนี้เลย  เมื่อโหลดเสร็จจากนั้นก็ทำการติดตั้งตามปกติ







[PSU] วิธีการขอ License Win 7,8,8.1,10 ของแท้ฟรี

[บทความนี้ใช้งานได้เฉพาะ น.ศ.หรือบุคลากร ม.อ.]       
       ช่วงนี้เห็นกระแสเริ่มขอ License แท้เริ่มบูมขึ้นมา ปกติจะไม่ค่อยมีใครสนใจซักเท่าไหร่ หรืออาจเป็นเพราะ เบื่อที่ต้อง Crack Windows ให้เป็นของแท้ ไม่ก็กลัวอะไรหลายๆอย่างที่เราไม่รู้ ...ก็...เป็น...ได้
        ผมว่าใคร Crack Windows เนี่ย น่ากลัวมากน่ะ เพราะโปรแกรมที่เอามา Crack เป็นของใครก็ไม่รู้ทำไว้ ยิ่งตอนติดตั้ง คุณต้องรันสิทธิเป็น Admin อีก ไม่อย่างนั้นโปรแกรมจะไม่ทำงาน คราวนี้แหล่ะฮ๊าฟโปรแกรมมันก็จะสามารถที่จะทำทุกอย่างบนเครื่องเราได้เลย โดยที่เราไม่รู้ ถ้าโชคร้ายได้ตัว Crack มาจาก Programer ไม่ประสงค์ดี ตอนติดตั้งเขาอาจใส่โปรแกรมบางอย่างมาติดตั้งในเครื่องเรา ซึ่งเราไม่รู้ (เพราะเห็นแต่หน้า UI อันสวยหรูของโปรแกรมแค่นั้น ใครจะคิดล่ะว่าหน้าตาสวยหรู จะมีสิ่งร้ายๆตามมา)  เพื่อดักข้อมูลสำคัญของเรา ยิ่งใครใช้ Internet Banking ก็งานเข้าล่ะครับพี่น้องเอ้ยย ไม่ต้องพูด แถมบางตัวไป Block Update Windows คราวนี้ซวยเลย ช่องโหว่ Windows ก็ไม่ได้ปิด  Hacker ก็เข้ามาได้ง่าย ถ้าผมจะ  Hack น่ะ ถ้าเข้าได้แล้วเม่ง จะลบข้อมูลให้หมด ทำให้วินโด้เ…

โลจิสโพสต์ ส่งรถจักรยานยนต์ หรือของใหญ่ๆ ผ่านไปรษณีย์ไทย.. ง่ายนิดเดียว

พอดีผมกำลังจะให้เพื่อนส่งจักรยานยนต์ขึ้นมากรุงเทพ ซึ่งตัวเลือกที่หาได้ก็มีแค่ไปรษณีย์ไทย รถไฟ ตอนแรกจะส่งผ่านมากับรถไฟเพราะจากการหาข้อมูล ค่าบริการถูกกว่าครึ่งนึง ก็เลยลองโทรถามเพื่อความชัวร์ ปรากกฏว่าตอนนี้รถไฟไทย เปลี่ยนกฏการให้บริการคือ ต้องมีผู้โดยสารไปกับรถด้วย (ผู้โดยสารจองไปปกติ และซื้อค่าวางสัมภาระสำหรับรถเพิ่ม) ก็เฟลไป เลยสุดท้ายมาจบที่ไปรษณีย์ไทย ราคาโหดพอควร

ซึ่งบริการของไปรณีย์ไทยที่เราจะใช้ ชื่อว่า  โลจิสโพสต์ (Logispost) รับฝากสิ่งของขนาดใหญ่ หรือมีรูปร่างพิเศษเหมาะกับการขนส่งสินค้า ซึ่งมีน้ำหนักมากหรือมีบรรจุภัณฑ์ขนาดใหญ่ เช่น จักรยานยนต์ ตู้เย็น  ทีวี เครื่องซักผ้า โดยสามารถฝากส่งและรอจ่าย ณ ที่ทำการไปรษณีย์ที่ผู้รับสะดวก และยังส่งไปต่างประเทศได้อีกด้วย โดยปกติจะใช้ระยะเวลา 5-7 วันทำการ แต่ถ้าหากต้องการความรวดเร็ว ก็ยังมีบริการ Logispost Plus ส่งด้วยภายใน 3 วัน และยังส่งถึงหน้าบ้าน!!


เริ่มเลยครับ ..

อย่างแรก เอกสารที่ต้องใช้ เตรียมถ่ายไว้เลยจะได้สะดวก ผมว่าให้ถ่ายไปสองชุดเพื่อความชัวร์
1. สำเนาทะเบียนรถที่จะส่ง (พาตัวจริงไปด้วยก็ดี เผื่อเจ้าหน้าขอดู)
2. สำเนาบัตรประชาช…