Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

‫ٌَخؼامي مع كواػد اًبَاانت حتخاج برانمج وس َط ٍربط اًربانمج املراد نخابخَ بلاػدة اًبَاانت‪ُ ,‬ذا اًربانمج ٌسمى ‪.

Driver‬‬
‫ُياك أربؼة أهواع من اًـ ‪ Drivers‬اًيت ميىن اس خخداهما ًربط اًربانمج مع كواػد اًبَاانت‪:‬‬
‫‪.JDBC-ODBC Bridge Driver -‬‬
‫‪Native-API Driver -‬‬
‫‪.Network Protocol Driver -‬‬
‫‪Thin Driver -‬‬

‫اًـ ‪ً JDBC-ODBC Bridge Driver‬لوم بخحوًي أوامر ‪ JDBC API‬اىل أوامر ًفِمِا اًـ ‪ ODBC Driver‬و اذلي بدورٍ ًلوم‬
‫بربط اًربانمج بلاػدة اًبَاانت‪ .‬وًؼخرب سِي الس خخدام و ميىن ربعَ بسِوةل مع أي كاػدة بَاانت‪.‬‬

‫أدائَ ًؼخرب بعئي حِر أهَ ًلوم بخحوًي أوامر اًـ ‪ JDBC‬اىل أوامر ‪ ODBC‬يف لك معََة ًمت احراءُا مع كاػدة اًبَاانت‪.‬‬
.‫اجلدول اًخايل ًوحض ظرًلة اًخؼامي مع بؼظ كواػد اًبَاانت‬
‫ و‬,forName() ‫ ٌدلاةل‬Argument ‫ اذلي جيب أن ثضؼَ نـ‬Driver ‫ ملؼرفة امس‬,‫اخذَار امس كاػدة اًبَاانت و رابط اًوضول ًِا‬
.getConnection() ‫ ٌدلاةل‬Argument ‫ظرًلة نخابة رابط اًوضول ًِا و اذلي جيب أن ثضؼَ نـ‬

URL Driver Name Database


jdbc:sqlserver://localhost\\sqlexpress:1433;databaseNa com.microsoft.sqlserver.jdbc.SQLS SQLServer
me erverDriver
jdbc:oracle:thin:@hostname:portNumber:databaseNam oracle.jdbc.driver.OracleDriver ORACLE
e
jdbc:mysql://hostname:portNumber/databaseName com.mysql.jdbc.Driver MySQL

Class ‫ املوحودة يف اًــ‬forName() ‫ املالمئ ًالثطال بلاػدة اًبَاانت اًيت سُمت اًخؼامي مؼِا و وس خخدم ادلاةل‬Driver ‫حتدًد امس اًـ‬
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver "(

.‫ ) اذلي سريبط اًربانمج بلاػدة اًبَاانت‬Driver ‫ ُو هص ميثي امس اًالكس ( أي اًـ‬className ‫اًـ‬

.‫ يف حال ػدم وحود ثوافق بني أهواد اًالكسات املس خخدمة يف معََة ربط اًربانمج مع كواػد اًبَاانت‬LinkageError
.‫ يف حال حدث خعأ غيد خَق اًاكئن‬ExceptionInInitializerError
.‫ يف حال اكن اًالكس اذلي مقيا بمترٍرٍ غري موحود‬ClassNotFoundException

‫ و اًيت‬,DriverManager ‫ املوحودة يف اًالكس‬getConnection() ‫ًبدء معََة الثطال بلاػدة اًبَاانت وس خخدم ادلاةل اًثابخة‬
.‫ ميثي الثطال اًلامئ بني اًربانمج و كاػدة اًبَاانت‬Connection َ‫حرحع اكئن هوػ‬
String url = jdbc:sqlserver://localhost\\sqlexpress:1433;databaseName;";

String username = "java";

String password = "123";

Connection con = DriverManager.getConnection(url, username, password);


‫ًخيفِذ أي اس خؼالم ػىل كاػدة اًبَاانت‪ ,‬هلوم برسال هص الس خؼالم بواسط ادلاةل )(‪ executeQuery‬ػىل اكئن ًـ ‪ Statement‬اذلي‬
‫مقيا بوشائَ سابل ًا‪ .‬ادلاةل )(‪ executeQuery‬حرحع هدِجة الس خؼالم واكئن هوػَ ‪.ResultSet‬‬

‫;)"‪ResultSet rs = stmt.executeQuery("select name from Employees‬‬

‫غرض مجَع السامء اًيت مت ختزٍهنا يف اًاكئن ‪ ,rs‬وس خخدم أي حَلة اكًخايل‪.‬‬
‫{))(‪while(rs.next‬‬
‫;) )"‪System.out.println( rs.getString("name‬‬

‫بؼد الىهتاء من اًخؼامي مع كاػدة اًبَاانت جيب كعع الثطال بلاػدة اًبَاانت‪ .‬و لغالق الثطال مع كاػدة اًبَاانت وس خدغي‬
‫ادلاةل )(‪ close‬املوحودة يف الهرتفُس "‪ " Connection‬ػىل اكئن اًـ ‪ Connection‬و اًيت ثلوم بهناء الثطال مع اكئن‬
‫اًـ ‪ Statement‬و اكئن اًـ ‪ ResultSet‬بشلك ثَلايئ‪ .‬و كعع الثطال مع كاػدة اًبَاانت ًمت اكًخايل ;)(‪con.close‬‬

‫‪Interface or class‬‬
‫‪class DriverManager‬‬
‫‪ 1‬اًالكس ‪ DriverManager‬مطمم ًخحدًد املؼَومات الساس َة اًيت حنخاهجا ًالثطال بلاػدة اًبَاانت مثي ( امس‬
‫اًـ ‪ Driver‬اذلي سًس خخدمَ‪ ,‬امس كاػدة اًبَاانت‪ ,‬امس املس خخدم و لكمة مرورٍ )‪.‬‬
‫‪interface Connection‬‬
‫‪ 2‬الهرتفُس ‪ Connection‬مطمم لوشاء اثطال بني اًربانمج و كاػدة اًبَاانت بلغامتد ػىل املؼَومات اًيت مت حتدًدُا فَِ يف‬
‫اكئن اًـ ‪.DriverManager‬‬
‫‪interface DatabaseMetaData‬‬
‫‪ 3‬الهرتفُس ‪ً DatabaseMetaData‬وفر مجموػة خضمة من ادلوال اًيت ميىن اس خخداهما ملؼرفة مؼَومات مذؼَلة بلاػدة اًبَاانت‬
‫اًيت ثخؼامي مؼِا‪.‬‬
‫‪interface Statement‬‬
‫‪ 4‬الهرتفُس ‪ Statement‬مطمم لرسال الس خؼالمات اًثابخة اًيت ل ثخغري اىل كاػدة اًبَاانت‪ ,‬أي ميىٌم اس خخدامَ يف حال نيت‬
‫حرًد ثيفِذ هفس أوامر اًـ ‪ SQL‬يف لك مرة ثلوم فهيا بدشغَي اًربانمج‪.‬‬
‫‪interface PreparedStatement‬‬
‫‪ 5‬الهرتفُس ‪ٍ PreparedStatement‬رث من الهرتفُس ‪ ,Statement‬مت ثطمميَ لرسال اس خؼالمات اىل كاػدة اًبَاانت أزياء‬
‫معي اًربانمج‪ ,‬نام أهَ ميىن اس خخدامَ ًخيفِذ هفس أوامر اًـ ‪ SQL‬ػدة مرات‪.‬‬
‫‪interface ResultSet‬‬
‫‪ 6‬الهرتفُس ‪ ResultSet‬مطمم ًخخزٍن أي بَاانت ًمت خَهبا من كاػدة اًبَاانت همام اكن هوغِا‪.‬‬
‫‪interface ResultSetMetaData‬‬
‫‪ 7‬الهرتفُس ‪ٌ ResultSetMetaData‬س خخدم ملؼرفة مؼَومات ثخؼَق بجلدول ( أو اجلداول ) اخملزهة يف اكئن اًـ ‪,ResultSet‬‬
‫مثي‪:‬‬
‫أسامء اجلداول اخملزهة فَِ‪.‬‬
‫ػدد المعدة اخملزهة فَِ‪.‬‬
‫أسامء المعدة اخملزهة فَِ‪.‬‬
‫أهواع اًبَاانت اًيت ميىن ختزٍهنا يف المعدة ‪.‬‬

‫اًالكس ‪ DriverManager‬مطمم ًخحدًد املؼَومات الساس َة اًيت حنخاهجا ًالثطال بلاػدة اًبَاانت مثي‪:‬‬
‫‪ -‬امس اًـ ‪ Driver‬اذلي سًس خخدمَ‪.‬‬
‫‪ -‬امس كاػدة اًبَاانت‪.‬‬
‫‪ -‬امس املس خخدم يف كاػدة اًبَاانت‪.‬‬
‫‪ -‬لكمة مرور املس خخدم يف كاػدة اًبَاانت‪.‬‬

‫‪Methods‬‬
‫)‪public static Connection getConnection(String url‬‬
‫حتدد رابط اًـ ‪ Driver‬اذلي سًس خخدمَ ًربط اًربانمج بلاػدة اًبَاانت‪.‬‬
‫‪1‬‬
‫اًـ ‪ُ url‬و هص ٍىذب هبذا اًشلك ‪ jdbc:subprotocol:subname‬و ميثي رابط اًوضول اىل كاػدة اًبَاانت‪.‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪public static Connection getConnection(String url, String name, String password‬‬
‫حتدد رابط اًـ ‪ Driver‬اذلي سًس خخدمَ ًربط اًربانمج بلاػدة اًبَاانت مع حتدًد امس املس خخدم و لكمة مرورٍ اًيت جسمح هل‬
‫بًوًوج اىل كاػدة اًبَاانت‪.‬‬
‫‪ 2‬اًـ ‪ُ url‬و هص ٍىذب هبذا اًشلك ‪ jdbc:subprotocol:subname‬و ميثي رابط اًوضول اىل كاػدة اًبَاانت‪.‬‬
‫اًـ ‪ُ name‬و هص ميثي امس املس خخدم يف كاػدة اًبَاانت‪.‬‬
‫اًـ ‪ُ password‬و هص ميثي لكمة مرور املس خخدم يف كاػدة اًبَاانت‪.‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪public static Connection getConnection(String url, Properties info‬‬
‫حتدد رابط اًـ ‪ Driver‬اذلي سًس خخدمَ ًربط اًربانمج بلاػدة اًبَاانت مع حتدًد امس املس خخدم و لكمة مرورٍ اًيت جسمح هل‬
‫بًوًوج اىل كاػدة اًبَاانت‪.‬‬
‫‪ 3‬اًـ ‪ُ url‬و هص ٍىذب هبذا اًشلك ‪ jdbc:subprotocol:subname‬و ميثي رابط اًوضول اىل كاػدة اًبَاانت‪.‬‬
‫اًـ ‪info‬غبارة غن اكئن هوػَ ‪ Properties‬ميثي مؼَومات نثرية مذؼَلة بلثطال بلاػدة اًبَاانت و جيب أن حيخوي ػىل الكي امس‬
‫املس خخدم لكمة مرورٍ يف كاػدة اًبَاانت‪..‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫مطمم لوشاء اثطال بني اًربانمج و كاػدة اًبَاانت بلغامتد ػىل املؼَومات اًيت مت حتدًدُا فَِ يف اكئن اًـ ‪.DriverManager‬‬
‫مالحظة‪ :‬اكئن اًـ ‪ً Connection‬لوم بشلك ثَلايئ حبفغ مجَع اًخغريات اًيت حتدث يف كاػدة اًبَاانت من كبي املس خخدم‪.‬‬

‫‪Methods‬‬
‫)(‪public Statement createStatement‬‬
‫حرحع اكئن هوػَ ‪ Statement‬من اكئن اًـ ‪ Connection‬اذلي كام بس خدػاهئا‪.‬‬
‫ميىن اس خخدام اكئن اًـ ‪ Statement‬اذلي مت ارخاػَ لرسال اس خؼالمات اثبخة اىل كاػدة اًبَاانت‪.‬‬ ‫‪1‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت أو يف حال اكن اكئن‬
‫اًـ ‪ Connection‬مغَل ًا‪.‬‬
‫)‪public PreparedStatement prepareStatement(String sql‬‬
‫حرحع اكئن هوػَ ‪ PreparedStatement‬من اكئن اًـ ‪ Connection‬اذلي كام بس خدػاهئا‪.‬‬
‫ميىن اس خخدام اكئن اًـ ‪ PreparedStatement‬اذلي مت ارخاػَ لرسال اس خؼالمات غري اثبخة اىل كاػدة اًبَاانت‪.‬‬ ‫‪2‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت أو يف حال اكن اكئن‬
‫اًـ ‪ Connection‬مغَل ًا‪.‬‬
‫)‪public void setAutoCommit(boolean autoCommit‬‬
‫افرتاضَ ًا‪ ,‬اكئن اًـ ‪ً Connection‬لوم بشلك ثَلايئ حبفغ مجَع اًخغريات اًيت حتدث يف كاػدة اًبَاانت من كبي املس خخدم‪.‬‬
‫يف حال مقت بس خدػاء ُذٍ ادلاةل من كبي اكئن اًـ ‪ Connection‬و مقت بمترٍر اًلمية ‪ًِ false‬ا ماكن‬
‫اًبارامِرت ‪ ,autoCommit‬غيدُا ًن ًلوم حبفغ اًخغريات اًيت حتدث يف كاػدة اًبَاانت بشلك ثَلايئ‪ .‬و س َىون ػََم‬ ‫‪3‬‬
‫اس خدػاء ادلاةل )(‪ commit‬حلفغ اًخغريات‪.‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت أو يف حال اكن اكئن‬
‫اًـ ‪ Connection‬مغَل ًا‪.‬‬
‫)(‪public void commit‬‬
‫يف حال مت حؼي اًاكئن اًـ ‪ Connection‬ل ًلوم حبفغ اًخغريات اًيت جنرهيا يف كاػدة اًبَاانت بشلك ثَلايئ‪ ,‬جيب اس خدػاء‬
‫ُذٍ ادلاةل من كبي اكئن اًـ ‪ Connection‬حلفغ مجَع اًخغريات اًيت حدزت‪.‬‬ ‫‪4‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت أو يف حال اكن اكئن‬
‫اًـ ‪ Connection‬مغَل ًا أو يف حال اكن اكئن اًـ ‪ Connection‬أض ًال حيفغ اًخغريات اًيت حتدث بشلك ثَلايئ‪.‬‬
‫)(‪public void rollback‬‬
‫يف حال اكن اكئن اًـ ‪ً Connection‬لوم حبفغ اًخغريات اًيت جنرهيا يف كاػدة اًبَاانت بشلك ثَلايئ‪ ,‬ميىن اس خدػاء ُذٍ ادلاةل‬
‫من كبي اكئن اًـ ‪ Connection‬لًغاء مجَع اًخغريات اًيت حدزت بسبب أخر معََة أحرًت يف كاػدة اًبَاانت‪.‬‬ ‫‪5‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت أو يف حال اكن اكئن‬
‫اًـ ‪ Connection‬مغَل ًا أو يف حال اكن اكئن اًـ ‪ Connection‬أض ًال حيفغ اًخغريات اًيت حتدث بشلك ثَلايئ‪.‬‬
‫)(‪public void close‬‬
‫‪ 6‬جس خخدم لغالق الثطال مع كاػدة اًبَاانت‪ ,‬فؼََ ًا ثغَق اكئن اًـ ‪ Connection‬و مجَع اًاكئيات املرثبعة فَِ‪.‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)(‪public DatabaseMetaData getMetaData‬‬
‫حرحع اكئن هوػَ ‪ DatabaseMetaData‬ميثي اكمي مؼَومات الثطال املخؼَلة باكئن اًـ ‪ Connection‬اذلي كام بس خدػاهئا‪.‬‬
‫ُذٍ املؼَومات جتؼكل كادر ًا ػىل مؼرفة مجَع خطائص كاػدة اًبَاانت و المعدة و السعر اًيت فهيا‪ ,‬بلضافة اىل مجَع اًبَاانت‬
‫‪7‬‬
‫املخوفرة حول اًـ ‪ Driver‬املس خخدم‪.‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت أو يف حال اكن اكئن‬
‫اًـ ‪ Connection‬مغَل ًا‪.‬‬

‫الهرتفُس ‪ً DatabaseMetaData‬وفر مجموػة من ادلوال اًيت ميىن اس خخداهما ملؼرفة مؼَومات مذؼَلة بلاػدة اًبَاانت اًيت ثخؼامي‬
‫مؼِا‪ .‬مثي‪:‬‬
‫امس كاػدة اًبَاانت ( ‪.) Database Name‬‬ ‫‪-‬‬
‫اضدار كاػدة اًَباانت ( ‪.) Database Version‬‬ ‫‪-‬‬
‫رابط اًوضول ًلاػدة اًبَاانت ( ‪.) Database URL‬‬ ‫‪-‬‬
‫الوامر املوحودة يف كاػدة اًبَاانت ( ‪.) Database Keywords‬‬ ‫‪-‬‬
‫امس اًـ ‪ Driver‬املس خخدم ( ‪.) Driver Name‬‬ ‫‪-‬‬
‫اضدار اًـ ‪ Driver‬املس خخدم ( ‪.) Driver Version‬‬ ‫‪-‬‬
‫أسامء اجلداول املوحودة يف كاػدة اًبَاانت ( ‪.) Tables Names‬‬ ‫‪-‬‬
‫امس املس خخدم املخطي بلاػدة اًبَاانت من اًخعبَق ( ‪.) User Name‬‬ ‫‪-‬‬
‫ٌَحطول ػىل اكئن ‪ DatabaseMetaData‬من اكئن اًـ ‪ Connection‬وس خدغي ادلاةل )(‪.getMetaData‬‬
‫‪Methods‬‬
‫)(‪public String getUserName‬‬
‫حرحع اٍمس املس خخدم املؼرف يف كاػدة اًبَاانت و املخطي هبا حاًَ ًا من اًخعبَق‪.‬‬ ‫‪1‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)(‪public String getDatabaseProductName‬‬
‫حرحع امس اًربانمج اذلي مت بواسعخَ اوشاء كاػدة اًبَاانت‪.‬‬ ‫‪2‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)(‪public String getDatabaseProductVersion‬‬
‫حرحع اضدار اًربانمج اذلي مت بواسعخَ اوشاء كاػدة اًبَاانت‪.‬‬ ‫‪3‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)(‪public String getDriverName‬‬
‫حرحع امس اًـ ‪ Driver‬املس خخدم ًالثطال بلاػدة اًبَاانت‪.‬‬ ‫‪4‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)(‪public String getDriverVersion‬‬
‫حرحع اضدار اًـ ‪ Driver‬املس خخدم ًالثطال بلاػدة اًبَاانت‪.‬‬ ‫‪5‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)(‪public String getURL‬‬
‫حرحع هص ميثي رابط اًوضول ًلاػدة اًبَاانت أو ‪ null‬يف حال مل حمتىن من ارخاػَ‪.‬‬ ‫‪6‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫‪public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern,‬‬
‫)‪String[] types‬‬
‫حرحع وضف مجلَع اجلداول املوحودة يف اكاتًوج كاػدة اًبَاانت واكئن من اًالكس ‪.ResultSet‬لك سعر حرحؼَ ميثي مؼَومات‬
‫خدول حمدد‪.‬‬
‫ميىٌم وضع ‪ null‬ماكن أي برامِرت يف حال نيت ل ثؼرف ماذا جيب أن ثضع‪.‬‬
‫ماكن اًبارامِرت ‪ tableNamePattern‬ميىٌم حتدًد اجلدول اذلي حرًد ارخاع وضف هل‪.‬‬
‫ماكن اًبارامِرت ‪ types‬ميىٌم حتدًد أهواع اجلداول اًيت حرًد ارخاع وضف ًِا‪.‬‬
‫ًمت حرثُب مؼَومات المعدة املوحودة يف لك خدول اكًخايل‪:‬‬
‫‪7‬‬
‫‪ TABLE_CAT‬و ُو هص ميثي اكاتًوج اجلدول‪.‬‬ ‫‪-‬‬
‫‪ TABLE_SCHEM‬و ُو هص ميثي اًـ ‪ schema‬و اًيت يه غبارة غن مجموػة اكئيات متثي كاػدة اًبَاانت املرثبط‬ ‫‪-‬‬
‫هبا مس خخدم مؼني‪.‬‬
‫‪ TABLE_NAME‬و ُو هص ميثي أسامء اجلداول املوحودة يف كاػدة اًبَاانت‪.‬‬ ‫‪-‬‬
‫‪ TABLE_TYPE‬و ُو هص ميثي هوع اجلدول و اذلي ميىن أن ٍىون احدى الهواع اًخاًَة‪:‬‬ ‫‪-‬‬
‫(‪LOCAL ,GLOBAL TEMPORARY ,SYSTEM TABLE ,VIEW ,TABLE‬‬
‫‪.)SYNONYM ,ALIAS ,TEMPORARY‬‬
‫‪ REMARKS -‬و ُو هص ميثي اًخؼََلات املوضوػة يف اجلدول‪.‬‬
‫‪ TYPE_CAT‬و ُو هص ميثي هوع اًاكاتًوج‪.‬‬ ‫‪-‬‬
‫‪ TYPE_SCHEM‬و ُو هص ميثي هوع اًـ ‪.schema‬‬ ‫‪-‬‬
‫‪ TYPE_NAME‬و ُو هص ميثي امس اًيوع‪.‬‬ ‫‪-‬‬
‫‪.SELF_REFERENCING_COL_NAME‬‬ ‫‪-‬‬
‫‪.REF_GENERATION‬‬ ‫‪-‬‬

‫بؼظ كواػد اًبَاانت ل حرحع مؼَومات حول مجَع اجلداول املوحودة فهيا‪.‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬

‫الهرتفُس ‪ Statement‬مطمم لرسال الس خؼالمات اًثابخة اًيت ل ثخغري اىل كاػدة اًبَاانت‪ ,‬أي ميىٌم اس خخدامَ يف حال نيت حرًد‬
‫ثيفِذ هفس أوامر اًـ ‪ SQL‬يف لك مرة ثلوم فهيا بدشغَي اًربانمج‪.‬‬
‫افرتاضَ ًا‪ ,‬اكئن واحد من الهرتفُس ‪ ResultSet‬ملابي اكئن واحد من الهرتفُس ‪ Statement‬ميىن فذحَ يف هفس اًوكت‪.‬‬
‫ميىن وحود أنرث من اكئن هوػَ ‪ ResultSet‬مفذوح يف هفس اًوكت‪ ,‬برشط أن ٍىون لك واحد مهنم مرثبط‬
‫باكئن ‪ Statement‬خمخَف‪.‬‬

‫‪Methods‬‬
‫)(‪public Connection getConnection‬‬
‫‪ 1‬حرحع اكئن اًـ ‪ Connection‬اذلي مت من خالهل اوشاء اكئن اًـ ‪ Statement‬اذلي كام بس خدػاهئا‪.‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪public ResultSet executeQuery(String sql‬‬
‫ثيفذ الس خؼالم اذلي هلوم بمترٍرٍ ًِا نيص يف كاػدة اًبَاانت‪ ,‬مث حرحع هدِجة الس خؼالم واكئن هوػَ ‪.ResultSet‬‬
‫المر اذلي ميرر ًِا يف اًؼادة ٍىون أمر ‪ SELECT‬اثبت‪ .‬ل ميىن اس خدػاء ُذٍ ادلاةل من خالل اكئن من‬
‫‪2‬‬
‫الهرتفُس ‪ PreparedStatement‬أو الهرتفُس ‪ .CallableStatement‬حريم الس خثٌاء ‪ SQLException‬يف حال حدث‬
‫خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪ .‬حريم الس خثٌاء ‪ SQLTimeoutException‬يف حال بلي اكئن اًـ ‪ Statement‬يف‬
‫وضؼَة الهخظار حىت ختعى املدة اًيت مت حتدًدُا بواسعة ادلاةل )(‪.setQueryTimeout‬‬
‫)‪public int executeUpdate(String sql‬‬
‫ثيفذ الس خؼالم اذلي هلوم بمترٍرٍ ًِا نيص يف كاػدة اًبَاانت‪.‬‬
‫‪ 3‬حرحع ػدد السعر اًيت مت اضافهتا أو اًخؼدًي ػَهيا‪ .‬و حرحع ‪ 0‬يف حال اكن الس خؼالم ل ٍرحع يشء‪.‬‬
‫اهدبَ‪ :‬ل ميىن اس خدػاء ُذٍ ادلاةل من خالل اكئن من الهرتفُس ‪ PreparedStatement‬أو‬
‫الهرتفُس ‪.CallableStatement‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫حريم الس خثٌاء ‪ SQLTimeoutException‬يف حال بلي اكئن اًـ ‪ Statement‬يف وضؼَة الهخظار حىت ختعى املدة اًيت مت‬
‫حتدًدُا بواسعة ادلاةل )(‪.setQueryTimeout‬‬
‫)(‪public ResultSet getResultSet‬‬
‫حرحع هدِجة الس خؼالم اذلي مقيا برساهل سابل ًا بواسعة اكئن اًـ ‪ Statement‬اذلي كام بس خدػاهئا واكئن هوػَ ‪.ResultSet‬‬
‫حرحع ‪ null‬يف حال مل ٍرحع الس خؼالم أي هدِجة‪.‬‬ ‫‪4‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت أو مت اس خدػاءُا ػىل‬
‫اكئن ‪ Statement‬مغَق‪.‬‬
‫)‪public void addBatch(String sql‬‬
‫ثضَف هص الس خؼالم اذلي منررٍ ًِا نـ ‪ Argument‬يف لحئة خاضة يف اكئن اًـ ‪ Statement‬اذلي كام بس خدػاهئا‪ .‬اًِدف‬
‫من ُذٍ الاحئة جتمَع الس خؼالمات املراد ارساًِا اىل كاػدة اًبَاانت و ارساهلم دفؼة واحدة مما ٌرسع الداء‪.‬‬
‫هص الس خؼالم اذلي منررُا ماكن اًبارامِرت ‪ٍ sql‬ىون غبارة غن أمر ‪ INSERT‬أو ‪.UPDATE‬‬
‫ل ميىن اس خدػاء ُذٍ ادلاةل من خالل اكئن من الهرتفُس ‪ PreparedStatement‬أو الهرتفُس ‪.CallableStatement‬‬ ‫‪5‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪ ,‬أو يف حال مت اس خدػاءُا بؼد أن‬
‫مت اغالق اكئن اًـ ‪ ,Statement‬أو يف حال اكن اًـ ‪ Driver‬املس خخدم ل ًدمع معََة جتمَع الس خؼالمات و ارساًِا دفؼة‬
‫واحدة (‪ ,)Batching Process‬أو يف حال مت اس خدػاءُا من خالل اكئن من الهرتفُس ‪ PreparedStatement‬أو‬
‫الهرتفُس ‪.CallableStatement‬‬
‫)(‪public int[] executeBatch‬‬
‫حرسي أمر ًليض بدٌفِذ مجموػة أوامر اًـ ‪ SQL‬املؼدة ًالرسال دفؼة واحدة و بيفس اًرتثُب اذلي مت اضافهتم فهيا بواسعة‬
‫ادلاةل )(‪.addBatch‬‬
‫اذا مت ثيفِذ مجَع الوامر اًيت مت جتِزيُا بواسعة ادلاةل )(‪ ,addBatch‬حرحع مطفوفة هوغِا ‪int‬‬
‫كمي غيارص ُذٍ املطفوفة حىون احدى ُذٍ الحامتلت‪:‬‬
‫رمق أنرب أو ٌساوي ضفر ًؤند أن المر كد مت ثيفِذٍ بيجاح‪ .‬اًرمق غبارة غن ػدد السعر اًيت مت اضافهتا أو حتدًر كميِا‪.‬‬
‫كمية املخغري ‪ SUCCESS_NO_INFO‬اًيت ميىٌم حتدًدُا بيفسم‪ ,‬لن ُذا املخغري ُو اثبت جمِز يف‬
‫اًالكس ‪ُ .Statement‬ذا اًرمق ًؤند أن ػدد السعر اًيت أضَفت أو مت ثؼدًي كميِا غري مؼروف‪.‬‬ ‫‪6‬‬
‫كمية املخغري ‪ EXECUTE_FAILED‬اًيت ميىٌم حتدًدُا بيفسم‪ ,‬لن ُذا املخغري ُو اثبت جمِز يف‬
‫اًالكس ‪ Statement‬أًض ًا‪ُ .‬ذا اًرمق ًؤند أهَ مل ًمت ثيفِذ مجَع الوامر بيجاح و ًىن اًـ ‪Driver‬اس متر يف ثيفِذ الوامر‬
‫املوضوػة‪.‬‬
‫ل ميىن اس خدػاء ُذٍ ادلاةل من خالل اكئن من الهرتفُس ‪ PreparedStatement‬أو الهرتفُس ‪.CallableStatement‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫حريم الس خثٌاء ‪ SQLTimeoutException‬يف حال بلي اكئن اًـ ‪ Statement‬يف وضؼَة الهخظار حىت ختعى املدة اًيت مت‬
‫حتدًدُا بواسعة ادلاةل )(‪.setQueryTimeout‬‬
‫)(‪public void clearBatch‬‬
‫متسح الس خؼالمات اًيت مت جتمَؼِا يف اكئن اًـ ‪ Statement‬اذلي كام بس خدػاهئا‪.‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪ ,‬أو يف حال مت اس خدػاءُا بؼد أن‬ ‫‪7‬‬
‫مت اغالق اكئن اًـ ‪ ,Statement‬أو يف حال اكن اًـ ‪ Driver‬املس خخدم ل ًدمع معََة جتمَع الس خؼالمات و ارساًِا دفؼة‬
‫واحدة (‪.)Batching Process‬‬
‫)(‪public void cancel‬‬
‫ثلوم بًغاء الس خؼالم اذلي مت جتِزيٍ يف اكئن اًـ ‪ Statement‬يف حال اكهت كاػدة اًبَاانت و اًـ ‪ Driver‬املس خخدم ًدغامن‬
‫معََة اًغاء الس خؼالم‪.‬‬
‫‪8‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪ ,‬أو يف حال مت اس خدػاءُا بؼد أن‬
‫مت اغالق اكئن اًـ ‪.Statement‬‬
‫حريم الس خثٌاء ‪ SQLFeatureNotSupportedException‬يف حال اكن اًـ ‪ Driver‬ل ًدمع ُذٍ ادلاةل‪.‬‬
‫)(‪public void close‬‬
‫جس خخدم لغالق الثطال مع كاػدة اًبَاانت‪ ,‬فؼََ ًا ثغَق اكئن اًـ ‪ Statement‬و اكئن اًـ ‪ ResultSet‬املرثبط بَ‪.‬‬ ‫‪9‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)(‪public boolean isClosed‬‬
‫جس خخدم ملؼرفة اذا اكن اكئن اًـ ‪ Statement‬اذلي كام بس خدػاهئا مغَل ًا أم ل‪ .‬حرحع ‪ true‬اذا اكن مغَل ًا‪ ,‬و حرحع ‪ false‬اذا اكن‬ ‫‪11‬‬
‫ل ٍزال مفذوح ًا‪ .‬حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪public void setQueryTimeout(int seconds‬‬
‫حتدد ػدد اًثواين الكىص اذلي كد ًدٌظرٍ اًـ ‪ Driver‬املس خخدم يف معََة الثطال ًخيفِذ أوامر من اكئن اًـ ‪.Statement‬‬
‫غيد اس خدػاهئا منرر ًِا رمق أنرب أو ٌساوي ضفر ميثي ػدد اًثواين نـ ‪.Argument‬‬ ‫‪11‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت أو يف حال مقيا بغعاهئا كمية أضغر‬
‫من ضفر‪.‬‬
‫)(‪public int getQueryTimeout‬‬
‫حرحع ػدد اًثواين الكىص اذلي كد ًدٌظرٍ اًـ ‪ Driver‬املس خخدم يف معََة الثطال ًخيفِذ أوامر من اكئن اًـ ‪.Statement‬‬
‫‪12‬‬
‫حرحع ‪ 0‬يف حال مل ًمت حتدًد فرتة الهخظار‪ .‬حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة‬
‫اًبَاانت أو مت اس خدػاءُا ػىل اكئن ‪ Statement‬مغَق‪.‬‬
‫)‪public void setMaxRows(int max‬‬
‫حتدد ػدد السعر الكىص اذلي ميىن أن حيخوًَ أي اكئن ‪ًً ResultSet‬ذج من اكئن اًـ ‪.Statement‬‬
‫غيد اس خدػاهئا منرر ًِا رمق رمق أنرب أو ٌساوي ‪ 0‬نـ ‪ Argument‬ميثي ػدد السعر الكىص اذلي ميىن أن حيخوًَ اكئن‬
‫اًـ ‪ .ResultSet‬يف حال مقيا بمترٍر ‪ 0‬فِذا ًؼين أهَ ل حدود ًلسعر اًيت ميىن أن حيخوهيا اكئن اًـ ‪.ResultSet‬‬ ‫‪13‬‬
‫مالحظة‪ :‬يف حال اكن ػدد السعر اذلي هخج غن الس خؼالم أنرب من ػدد السعر اًيت ميىن أن ٌس خوغهبا اكئن‬
‫اًـ ‪ً ,ResultSet‬مت جتاُي السعر اًزائدة‪ .‬حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة‬
‫اًبَاانت أو يف حال مقيا بغعاهئا كمية أضغر من ضفر‪.‬‬
‫)(‪public SQLWarning getWarnings‬‬
‫حرحع أول حتذٍر كام بظالكَ اكئن اًـ ‪ Statement‬اذلي كام بس خدػاهئا واكئن هوػَ ‪ .SQLWarning‬حرحع ‪ null‬يف حال مل‬
‫‪14‬‬
‫ٍىن ُياك أي حتذٍر‪ .‬حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪ ,‬أو يف‬
‫حال مت اس خدػاءُا بؼد أن مت اغالق اكئن اًـ ‪.Statement‬‬
‫)(‪public void clearWarnings‬‬
‫متسح مجَع اًخحذٍرات اًيت مت اضدارُا بسبب اكئن اًـ ‪ Statement‬اذلي كام بس خدػاهئا‪.‬‬
‫مالحظة‪ :‬اذا مقت بس خدػاء ادلاةل )(‪ getWarnings‬بؼد اس خدػاء ُذٍ ادلاةل‪ ,‬سرتحع كل ‪.null‬‬ ‫‪15‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪ ,‬أو يف حال مت اس خدػاءُا بؼد أن‬
‫مت اغالق اكئن اًـ ‪.Statement‬‬
‫الهرتفُس ‪ٍ PreparedStatement‬رث من الهرتفُس ‪ ,Statement‬و أدائَ أرسع مٌَ أًض ًا‪ .‬مت ثطمميَ لرسال اس خؼالمات اىل‬
‫كاػدة اًبَاانت أزياء معي اًربانمج‪ ,‬نام أهَ ميىن اس خخدامَ ًخيفِذ هفس أوامر اًـ ‪SQL‬ػدة مرات‪.‬‬
‫ٌَحطول ػىل اكئن ‪ PreparedStatement‬من اكئن اًـ ‪ Connection‬وس خدغي ادلاةل )(‪.prepareStatement‬‬

‫?‬
‫الهرتفُس ‪ PreparedStatement‬مطمم لرسال اس خؼالمات أزياء جشغَي اًربانمج‪ ,‬فِجب‪:‬‬
‫‪ -‬جتِزي شلك الس خؼالم السايس اذلي سُمت ارساهل‪.‬‬
‫‪ -‬حؼي املس خخدم ٍمكي هص الس خؼالم‪.‬‬
‫‪ -‬ثيفِذ الس خؼالم‪.‬‬

‫?‬
‫مبا أهيا هلوم بخجِزي الس خؼالم ػىل مرحَخني كبي ارساهل اىل كاػدة اًبَاانت و ثيفِذٍ‪ ,‬جيب أن هضع ػالمة اس خفِام ماكن لك مؼَومة‬
‫ىرًد من املس خخدم ادخاًِا غيد جشغَي اًربانمج حىت ٍىمتي هص الس خؼالم‪.‬‬
‫غيد جتِزي هص الس خؼالم السايس‪ ,‬هلوم بوضع ػالمة ‪ -‬أو ػالمات ‪ -‬الس خفِام فَِ اكًخايل‪.‬‬
‫= ‪PreparedStatement pstmt = con.prepareStatement("UPDATE employee SET name‬‬
‫? = ‪? WHERE id‬‬ ‫;)"‬

‫و وس خخدم داةل من دوال الدخال املطمة لمتام هص الس خؼالم أزياء جشغَي اًربانمج اكًخايل‪.‬‬
‫ماكن أول رمز ? سُمت وضع المس‪pstmt.setString(1, "Ahmad"); //Ahmad‬‬
‫;)‪pstmt.setInt(2, 12‬‬ ‫‪ //‬ماكن اثين رمز ? سُمت وضع اًرمق ‪12‬‬
‫مث وس خخدم داةل ثيفِذ الس خؼالم اكًخايل‪.‬‬
‫;)(‪pstmt.executeUpdate‬‬
‫"‪"UPDATE employee SET name = 'ahmad' WHERE id = 12‬‬ ‫وًطبح شلك الس خؼالم اذلي مت ثيفِذٍ اكًخايل‪:‬‬
‫ػالمات الس خفِام اًيت ثضؼِا يف هص الس خؼالم‪ً ,‬مت حركميِا ابخداء ًا من اًرمق ‪ 1‬نام لحظت يف املثال اًسابق‪.‬‬
‫غيدما ىىذب اس خؼالم و هضع فَِ ػالمة اس خفِام أو أنرث‪ً ,‬عَق ػىل ُذا الس خؼالم جسمَة ‪.Parameterized Query‬‬
‫ادلوال اًيت وس خخدهما ٍمترٍر اًلمي اًيت حطَيا ػَهيا من املس خخدم ًوضؼِا ماكن ػالمات الس خفِام‪ ,‬جسمى ‪.Setter Methods‬‬

‫‪Methods‬‬
‫)‪void setInt(int parameterIndex, int value‬‬
‫منرر ًِا كميخني نـ ‪ ,Arguments‬الوىل غبارة غن رمق هوػَ ‪ int‬حيدد ‪ index‬ػالمة اًسؤال اًيت سُمت ثبدًَِا بلمية‪ ,‬و اًثاهَة‬
‫غبارة غن رمق هوػَ ‪ int‬حيدد اًلمية اًيت سُمت وضؼِا ماكن ػالمة اًسؤال املوضوػة يف هص الس خؼالم اذلي مت جتِزيٍ يف اكئن‬
‫‪1‬‬
‫اًـ ‪ PreparedStatement‬اذلي كام بس خدػاهئا‪.‬‬
‫اًـ ‪ JDBC‬س َلوم بخحوًي هوع اًلمية اًيت مت وضؼِا ماكن اًبارامِرت ‪ value‬اىل اًيوع ‪.INTEGER‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪void setLong(int parameterIndex, long value‬‬
‫منرر ًِا كميخني نـ ‪ ,Arguments‬الوىل غبارة غن رمق هوػَ ‪ int‬حيدد ‪ index‬ػالمة اًسؤال اًيت سُمت ثبدًَِا بلمية‪ ,‬و اًثاهَة‬
‫غبارة غن رمق هوػَ ‪ long‬حيدد اًلمية اًيت سُمت وضؼِا ماكن ػالمة اًسؤال املوضوػة يف هص الس خؼالم اذلي مت جتِزيٍ يف اكئن‬
‫‪2‬‬
‫اًـ ‪ PreparedStatement‬اذلي كام بس خدػاهئا‪.‬‬
‫اًـ ‪ JDBC‬س َلوم بخحوًي هوع اًلمية اًيت مت وضؼِا ماكن اًبارامِرت ‪ value‬اىل اًيوع ‪.BIGINT‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪void setFloat(int parameterIndex, float value‬‬
‫منرر ًِا كميخني نـ ‪ ,Arguments‬الوىل غبارة غن رمق هوػَ ‪ int‬حيدد ‪ index‬ػالمة اًسؤال اًيت سُمت ثبدًَِا بلمية‪ ,‬و اًثاهَة‬
‫غبارة غن رمق هوػَ ‪ float‬حيدد اًلمية اًيت سُمت وضؼِا ماكن ػالمة اًسؤال املوضوػة يف هص الس خؼالم اذلي مت جتِزيٍ يف اكئن‬
‫‪3‬‬
‫اًـ ‪ PreparedStatement‬اذلي كام بس خدػاهئا‪.‬‬
‫اًـ ‪ JDBC‬س َلوم بخحوًي هوع اًلمية اًيت مت وضؼِا ماكن اًبارامِرت ‪ value‬اىل اًيوع ‪.REAL‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪void setDouble(int parameterIndex, double value‬‬
‫منرر ًِا كميخني نـ ‪ ,Arguments‬الوىل غبارة غن رمق هوػَ ‪ int‬حيدد ‪ index‬ػالمة اًسؤال اًيت سُمت ثبدًَِا بلمية‪ ,‬و اًثاهَة‬
‫غبارة غن رمق هوػَ ‪ double‬حيدد اًلمية اًيت سُمت وضؼِا ماكن ػالمة اًسؤال املوضوػة يف هص الس خؼالم اذلي مت جتِزيٍ يف‬
‫‪4‬‬
‫اكئن اًـ ‪ PreparedStatement‬اذلي كام بس خدػاهئا‪.‬‬
‫اًـ ‪ JDBC‬س َلوم بخحوًي هوع اًلمية اًيت مت وضؼِا ماكن اًبارامِرت ‪ value‬اىل اًيوع ‪.DOUBLE‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪void setBoolean(int parameterIndex, boolean value‬‬
‫منرر ًِا كميخني نـ ‪ ,Arguments‬الوىل غبارة غن رمق هوػَ ‪ int‬حيدد ‪ index‬ػالمة اًسؤال اًيت سُمت ثبدًَِا بلمية‪ ,‬و اًثاهَة‬
‫غبارة غن كمية هوغِا ‪ boolean‬حتدد اًلمية اًيت سُمت وضؼِا ماكن ػالمة اًسؤال املوضوػة يف هص الس خؼالم اذلي مت جتِزيٍ يف‬
‫اكئن اًـ ‪ PreparedStatement‬اذلي كام بس خدػاهئا‪.‬‬ ‫‪5‬‬
‫اًـ ‪ JDBC‬س َلوم بخحوًي هوع اًلمية اًيت مت وضؼِا ماكن اًبارامِرت ‪ value‬اىل اًيوع ‪ BIT‬أو ‪.BOOLEAN‬‬

‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪void setByte(int parameterIndex, byte value‬‬
‫منرر ًِا كميخني نـ ‪ ,Arguments‬الوىل غبارة غن رمق هوػَ ‪ int‬حيدد ‪ index‬ػالمة اًسؤال اًيت سُمت ثبدًَِا بلمية‪ ,‬و اًثاهَة‬
‫غبارة غن رمق هوػَ ‪ byte‬حيدد اًلمية اًيت سُمت وضؼِا ماكن ػالمة اًسؤال املوضوػة يف هص الس خؼالم اذلي مت جتِزيٍ يف اكئن‬
‫‪6‬‬
‫اًـ ‪ PreparedStatement‬اذلي كام بس خدػاهئا‪.‬‬
‫اًـ ‪ JDBC‬س َلوم بخحوًي هوع اًلمية اًيت مت وضؼِا ماكن اًبارامِرت ‪ value‬اىل اًيوع ‪.TINYINT‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪void setShort(int parameterIndex, short value‬‬
‫منرر ًِا كميخني نـ ‪ ,Arguments‬الوىل غبارة غن رمق هوػَ ‪ int‬حيدد ‪ index‬ػالمة اًسؤال اًيت سُمت ثبدًَِا بلمية‪ ,‬و اًثاهَة‬
‫غبارة غن رمق هوػَ ‪ short‬حيدد اًلمية اًيت سُمت وضؼِا ماكن ػالمة اًسؤال املوضوػة يف هص الس خؼالم اذلي مت جتِزيٍ يف اكئن‬
‫‪7‬‬
‫اًـ ‪ PreparedStatement‬اذلي كام بس خدػاهئا‪.‬‬
‫اًـ ‪ JDBC‬س َلوم بخحوًي هوع اًلمية اًيت مت وضؼِا ماكن اًبارامِرت ‪ value‬اىل اًيوع ‪.SMALLINT‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪void setString(int parameterIndex, String value‬‬
‫منرر ًِا كميخني نـ ‪ ,Arguments‬الوىل غبارة غن رمق هوػَ ‪ int‬حيدد ‪ index‬ػالمة اًسؤال اًيت سُمت ثبدًَِا بلمية‪ ,‬و اًثاهَة‬
‫غبارة غن هص حيدد اًلمية اًيت سُمت وضؼِا ماكن ػالمة اًسؤال يف هص الس خؼالم اذلي مت جتِزيٍ يف اكئن‬
‫اًـ ‪ PreparedStatement‬اذلي كام بس خدػاهئا‪.‬‬ ‫‪8‬‬
‫اًـ ‪ JDBC‬س َلوم بخحوًي هوع اًلمية اًيت مت وضؼِا ماكن اًبارامِرت ‪ value‬اىل‬
‫اًيوع ‪ VARCHAR‬أو ‪.LONGVARCHAR‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪void setDate(int parameterIndex, Date date‬‬
‫منرر ًِا كميخني نـ ‪ ,Arguments‬الوىل غبارة غن رمق هوػَ ‪ int‬حيدد ‪ index‬ػالمة اًسؤال اًيت سُمت ثبدًَِا بلمية‪ ,‬و اًثاهَة‬
‫غبارة غن اكئن من اًالكس ‪ Date‬حيدد اًلمية اًيت سُمت وضؼِا ماكن ػالمة اًسؤال يف هص الس خؼالم اذلي مت جتِزيٍ يف اكئن‬
‫‪9‬‬
‫اًـ ‪ PreparedStatement‬اذلي كام بس خدػاهئا‪.‬‬
‫اًـ ‪ JDBC‬س َلوم بخحوًي هوع اًلمية اًيت مت وضؼِا ماكن اًبارامِرت ‪ date‬اىل اًيوع ‪.DATE‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪void setCharacterStream(int parameterIndex, Reader reader, int length‬‬
‫جس خخدم ًخخزٍن مَف هيص يف كاػدة اًبَاانت غيد اس خدػاهئا منرر ًِا زالزة كمي نـ ‪ Arguments‬اكًخايل‪:‬‬
‫ماكن اًبارامِرت ‪ ,parameterIndex‬منرر رمق هوػَ ‪ int‬حيدد ‪ index‬ػالمة اًسؤال اًيت سُمت ثبدًَِا بلمية‪.‬‬
‫ماكن اًبارامِرت ‪ ,reader‬منرر اكئن من اًالكس ‪ Reader‬حيدد امس و رابط املَف اذلي سُمت وضؼَ ماكن ػالمة اًسؤال يف‬
‫‪11‬‬
‫هص الس خؼالم اذلي مت جتِزيٍ يف اكئن اًـ ‪.PreparedStatement‬‬
‫ماكن اًبارامِرت ‪ ,length‬منرر رمق هوػَ ‪ int‬ميثي ػدد الحرف اًيت حيخوهيا ُذا املَف‪.‬‬
‫اًـ ‪ JDBC‬س هيمت بيوع اًرتمزي املس خخدم يف ُذا املَف بشلك ثَلايئ‪.‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪void setBinaryStream(int parameterIndex, InputStream is, int length‬‬
‫جس خخدم ًخخزٍن أي هوع من املَفات اًغري هطَة يف كاػدة اًبَاانت‪ .‬غيد اس خدػاهئا منرر ًِا زالزة كمي نـ ‪ Arguments‬اكًخايل‪:‬‬
‫‪11‬‬
‫ماكن اًبارامِرت ‪ ,parameterIndex‬منرر رمق هوػَ ‪ int‬حيدد ‪ index‬ػالمة اًسؤال اًيت سُمت ثبدًَِا بلمية‪.‬‬
‫ماكن اًبارامِرت ‪ ,is‬منرر اكئن من اًالكس ‪ InputStream‬حيدد امس و رابط اًطورة اًيت سُمت وضؼِا ماكن ػالمة اًسؤال يف‬
‫هص الس خؼالم اذلي مت جتِزيٍ يف اكئن اًـ ‪.PreparedStatement‬‬
‫ماكن اًبارامِرت ‪ ,length‬منرر رمق هوػَ ‪ int‬ميثي جحم املَف بًـ ‪.Byte‬‬
‫اًـ ‪ JDBC‬س هيمت بيوع اًرتمزي املس خخدم يف ُذا املَف بشلك ثَلايئ‪.‬‬

‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫)‪void setBlob(int parameterIndex, InputStream is, int length‬‬
‫جس خخدم ًخخزٍن ضورة يف كاػدة اًبَاانت‪ .‬غيد اس خدػاهئا منرر ًِا زالزة كمي نـ ‪ Arguments‬اكًخايل‪:‬‬
‫ماكن اًبارامِرت ‪ ,parameterIndex‬منرر رمق هوػَ ‪ int‬حيدد ‪ index‬ػالمة اًسؤال اًيت سُمت ثبدًَِا بلمية‪.‬‬
‫ماكن اًبارامِرت ‪ ,is‬منرر اكئن من اًالكس ‪ InputStream‬حيدد امس و رابط املَف اذلي سُمت وضؼَ ماكن ػالمة اًسؤال يف‬
‫‪ 12‬هص الس خؼالم اذلي مت جتِزيٍ يف اكئن اًـ ‪.PreparedStatement‬‬
‫ماكن اًبارامِرت ‪ ,length‬منرر رمق هوػَ ‪ int‬ميثي جحم املَف بًـ ‪.Byte‬‬
‫اًـ ‪ JDBC‬س َلوم بخحوًي هوع اًلمية اًيت مت وضؼِا ماكن اًبارامِرت ‪ blob‬اىل اًيوع ‪.BLOB‬‬
‫حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪.‬‬
‫حريم الس خثٌاء ‪ SQLFeatureNotSupportedException‬يف حال اكن اًـ ‪ JDBC‬ل ًدمع ُذٍ ادلاةل‪.‬‬
‫)(‪public ResultSet executeQuery‬‬
‫ثيفذ الس خؼالم اذلي مت جتِزيٍ يف اكئن اًـ ‪ PreparedStatement‬اذلي كام بس خدػاهئا‪ .‬حرحع هدِجة الس خؼالم واكئن‬
‫هوػَ ‪ .ResultSet‬المر اذلي ميرر ًِا يف اًؼادة ٍىون أمر ‪ SELECT‬اثبت‪.‬‬
‫‪ 13‬حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪ ,‬أو يف حال مل ٍرحع الس خؼالم‬
‫اكئن ‪.ResultSet‬‬
‫حريم الس خثٌاء ‪ SQLTimeoutException‬يف حال بلي اكئن اًـ ‪ Statement‬يف وضؼَة الهخظار حىت ختعى املدة اًيت مت‬
‫حتدًدُا بواسعة ادلاةل )(‪.setQueryTimeout‬‬
‫)(‪public int executeUpdate‬‬
‫ثيفذ الس خؼالم اذلي مت جتِزيٍ يف اكئن اًـ ‪ PreparedStatement‬اذلي كام بس خدػاهئا‪.‬‬
‫حرحع ػدد السعر اًيت مت اضافهتا أو اًخؼدًي ػَهيا‪ .‬و حرحع ‪ 0‬يف حال اكن الس خؼالم ل ٍرحع يشء‪.‬‬
‫‪ 14‬حريم الس خثٌاء ‪ SQLException‬يف حال حدث خعأ غيد حماوةل الثطال بلاػدة اًبَاانت‪ ,‬أو يف حال أرحع الس خؼالم‬
‫اكئن ‪.ResultSet‬‬
‫حريم الس خثٌاء ‪ SQLTimeoutException‬يف حال بلي اكئن اًـ ‪ Statement‬يف وضؼَة الهخظار حىت ختعى املدة اًيت مت‬
‫حتدًدُا بواسعة ادلاةل )(‪setQueryTimeout‬‬

You might also like