JDBC ResultSet: Sida Loo Isticmaalo Java ResultSet si aad u soo ceshato xogta

Tababarkaan wuxuu sharxayaa sida loo isticmaalo JDBC ResultSet si loo soo saaro xogta. Waxaan sidoo kale ka baran doonaa wax ku saabsan ResultSetMetaData iyo DatabaseMetaData interfaces oo leh tusaalooyin: >

> JDBC DriverManagercasharrada Taxanaha casharrada JDBC, waxaan baranay sida loo isticmaalo JDBC DriverManager iyo hababkeeda, JDBC PreparedStatement ee codsiyada Java.

Tababarkaan, waxaan kaga hadli doonaa is-dhexgalka haray ee JDBC. Waxaan ku soo koobnay Bayaanka, PreparedStatement, iyo CallableStatement interfaces ee casharradii hore.

Halkan, waxaan ku baran doonaa JDBC ResultSet, ResultSetMetaData, iyo DatabaseMetaData interfaces, hababkooda iyo sida loo isticmaalo hababka barnaamijka Java.3

> >

JDBC ResultSet Interface

ResultSet Interface ayaa ku jira xirmada Java.sql Waxaa loo isticmaalaa in lagu kaydiyo xogta kuwaas oo laga soo celiyay miiska database ka dib fulinta weedhaha SQL ee Barnaamijka Java. Shayga ResultSet wuxuu ilaaliyaa barta cursor ee xogta natiijada. Sida caadiga ah, cursorku waxa uu dhigaa ka hor safka kowaad ee xogta natiijada

>Habka ku xiga () waxa loo adeegsadaa in loo dhaqaajiyo meesha ku xigta dhanka hore. Waxay soo celin doontaa BEEN haddii aysan jirin diiwaanno kale. Waxay soo saartaa xogta iyadoo wacaysa habka fulintaQuery() iyadoo adeegsanaysa mid ka mid ah walxaha bayaanka. Waxa laga yaabaa inay noqoto Qoraal ama PreparedStatement ama shay CallableStatement. ReadedStatement, iyowaxay soo celisaa magaca qaabka shaxda tiirka > > > int getColumnCount() > boolean isAutoIncrement(int Column) > Waxay ku noqotaa run haddii tiirka la bixiyay uu yahay Kordhi toos ah, haddii kale been > 28>> 25> 30> boolean isCaseSensitive(int Column) > Waxay soo noqotaa run haddii tiirka la bixiyay uu yahay kiis xasaasi ah, haddii kale been > > 33>

ResultSetMetaData Tusaale

package com.STH.JDBC; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; public class ResultSetMetaData_Example { public static void main(String[] args) throws ClassNotFoundException, SQLException { // TODO Auto-generated method stub String QUERY= " select * from employee_details"; Class.forName("oracle.jdbc.driver.OracleDriver"); try(Connection conn = DriverManager.getConnection("jdbc:oracle:thin:system/pass123@localhost:1521:XE")) { Statement statemnt1 = conn.createStatement(); ResultSet rs1 =null; rs1 = statemnt1.executeQuery(QUERY); ResultSetMetaData rsmd = rs1.getMetaData(); System.out.println(" We are using ResultSetMetaData "); System.out.println("No: of Columns: "+ rsmd.getColumnCount()); System.out.println("ColumnName of Column 1: "+ rsmd.getColumnName(1)); System.out.println("Data Type of Column 2: " + rsmd.getColumnTypeName(2)); System.out.println("Table Name of the Column 1: " + rsmd.getTableName(1)); System.out.println("Schema Name of the Column 1: " + rsmd.getSchemaName(1)); } } }

KA SOO BAXA:

Sharaxaad:

Barnaamijka kore, waxaanu hirgalinay habab getColumnCount(),getColumnName(),GeColumnTypeName(), GetTableName() iyo getSchemaName() hababka ku jira ResultSetMetaData interface.

DatabaseMetaData

DatabaseMetaData

DatabaseMetaData interface waxay ku siinaysaa macluumaad ku saabsan Database-ka sida DatabaseName, nooca Database, iyo wixii la mid ah.

Hababka muhiimka ah ee DatabaseMetaData interface:

> > String getDriverName() > Waxay soo celin doontaa magaca darawalka JDBC ee aanu ku isticmaalno barnaamijkayaga Java 28> String getDriverVersion() Waxay soo celisaa nambarka nooca darawalka JDBC > > 30> String getUserName() > Waxay soo celisaa magaca isticmaalaha Database-ka aan isticmaaleyno String getDatabaseProductName() > > Waxay soo celisaa Magaca Database-ka oo aanu nahayaddoo isticmaalaya String getDatabaseProductVersion() Waxay soo celisaa nambarka nooca Database-ka ee aanu isticmaaleyno ResultSet getSchemas() > Waxay soo celisaa magacyada schemas-ka laga heli karo Database-ka ku xidhan > > > 30> String getStringFunctions() > Waxay soo celisaa liiska hawlaha xargaha ee laga heli karo Database-ka ku xidhan > > String getTimeDateFunctions() Waxay waxay soo celisaa liiska wakhtiga iyo hawlaha taariikhda ee laga heli karo Database-ka ku xidhan String getURL() Waxay soo celisaa URL-ka Database-ka31 > > Boolean isReadOnly() > Waxay soo celisaa haddii xog-ururintu ku jirto habka akhris-kaliya > 28> > 30> 4>Boolean supportsBatchUpdates() > > Waxay soo celisaa haddii kaydka taageerada dufcada cusboonaysiiyay > > >Boolean wuxuu taageeraaSavepoints() >>Waxay soo celisaa haddii Xog-hayuhu uu taageerayo Savepoints Boolean supportsStatementPooling() Waxay soo celisaa in Database-ku taageerayo Wareejinta Bayaanka > 28> Boolean wuxuu taageeraa StoredProcedures() > >>Waxay soo celisaa in xog-ururinta ay taageerto nidaamyada la kaydiyay > > 30> Boolean wuxuu taageeraaOuterJoins() > Waxay soo celisaa in xogtu taageerto Ku biirka Dibadda >> > 33>

Halkan, waxaanu ku taxnay hababka muhiimka ah ee isku xidhka DatabaseMetaData. Waxaad tixraaci kartaagoobta rasmiga ah ee Oracle halkaas oo aad ku arki karto dhammaan hababka laga heli karo DatabaseMetaData interface.

DatabaseMetaData Tusaalaha:

package com.STH.JDBC; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; public class DatabaseMetaData_Example { public static void main(String[] args) throws ClassNotFoundException, SQLException { // TODO Auto-generated method stub Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection("jdbc:oracle:thin:system/pass123@localhost:1521:XE"); DatabaseMetaData dbmd = conn.getMetaData(); System.out.println("Using DatabaseMetaData"); System.out.println("Driver Name: " + dbmd.getDriverName()); System.out.println("Driver Version: "+ dbmd.getDriverVersion()); System.out.println("UserName of the Database: " + dbmd.getUserName()); System.out.println("Database Product Name:" + dbmd.getDatabaseProductName()); System.out.println("Database Product Version: " + dbmd.getDatabaseProductVersion()); System.out.println("List of String Functions in the Database: " + dbmd.getStringFunctions()); System.out.println("List of Time & Date functions in the Database: " + dbmd.getTimeDateFunctions()); System.out.println("URL of the Database: " + dbmd.getURL()); System.out.println("Database is read - only? " +dbmd.isReadOnly()); System.out.println("Support Batch Updates? " + dbmd.supportsBatchUpdates()); System.out.println("Support savepoints? " + dbmd.supportsSavepoints()); System.out.println("Support Statement Pooling? "+ dbmd.supportsStatementPooling()); System.out.println("Support Stored Procedures? " + dbmd.supportsStoredProcedures()); System.out.println("Support Outer Join? "+ dbmd.supportsOuterJoins()); } }

OUTPUT:

Sharax: >Barnaamijka kore, waxaan isticmaalnay/ hirgelinay getDriverName(), getDriverVersion() , getUserName (), getDatabaseProductName (), getDatabaseProductVersion (), getStringFunctions (), getTimeDateFunctions (), getURL (), isReadOnly (), taageertaaBatchUpdates (), taageertaaStatementPooling (), taageertaaSavepoints (), taageertaa Proins (Proins) Joins DatabaseMetaData Interface.

Dhibcaha in la xuso:

  • JDBC ResultSet interface waxa loo isticmaalaa in lagu kaydiyo xogta database iyo in ay isticmaalaan in barnaamijkeena Java. 13>
  • Waxaan sidoo kale u isticmaali karnaa ResultSet si aan u cusboonaysiino xogta anagoo adeegsanayna hababka cusboonaysiintaXXX().
  • ResultSet sheyga wuxuu tilmaamayaa cursorka kahor safka koowaad ee xogta natiijada. Isticmaalka habka soo socda, waxaan ku celcelin karnaa ResultSet.
  • Waxaan haynaa habab marineed ResultSet si aan ugu sii gudubno shayga ResultSet
  • ResultMetaData waxaa loo isticmaalaa in lagu helo macluumaad dheeraad ah oo ku saabsan ResultSet sida Magaca tiirka, tirada tiirarka, xogta nooca tiirka, iwm.
  • DatabaseMetData waxa loo isticmaalaa in lagu helo macluumaadka ku saabsan xog-ururinta oo aanu ku xidhnay
  • >
> Su'aalaha Inta badan la isweydiiyo

Q #1) Waa maxay isticmaalkaResultSet?

Jawab: ResultSet waxa loo isticmaalaa in lagu kaydiyo lagana soo saaro xogta DB. Marka habka fulintaQuery() la fuliyo, waxay soo celin doontaa shayga ResultSet. Waxaan u isticmaali karnaa shayga ResultSet ee barnaamijkayaga si aan u fulino macquulka.

Q #2) Sida loo hubiyo in ResultSet madhan yahay iyo in kale?

Jawaab: Ma jiraan habab hore loo sii qeexay sida dhererka(), cabbirka() la heli karo si loo hubiyo IsResultSet Empty. Waxaan isticmaali karnaa habka soo socda () si aan u soo koobno, haddii ay soo noqoto Run, markaa ma madhan, haddii ay soo noqoto Been waxay la macno tahay ResultSet waa madhan.

Q #3) Suurtagal ma tahay in ResultSet waxaa laga yaabaa inay burato?

>

Jawaab: Maya, fuliQuery() habka waxa uu soo celinayaa shayga ResultSet oo laga yaabo inuu waligiis buriyo.

>

Q #4) Waa maxay ResultSet la cusboonaysiin karo?

Jawab: Walaxda la cusboonaysiin karo ee ResultSet ayaa loo isticmaalaa in lagu cusboonaysiiyo xogta ku jirta tiirka, la geliyo xogta tiirarka oo la tirtiro safafka. Si loo sameeyo ResultSet mid la cusboonaysiin karo, waxaan u baahanahay inaan ka dhigno nooca duubista mid xasaasi ah ama dareen la'aan ah iyo nooca CONCUR oo la cusboonaysiin karo.

ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE.

Q #5) Sidee loo helaa magaca Database-ka ee ku xidhan?

>

Jawab: Waxaan isticmaali karnaa habka GetDatabaseProductName() ee Shayga DatabaseMetaData.

Gabagabo

> Casharkan, waxaan kaga hadalnay waxa ay yihiin ResultSet, ResultSetMetaData, iyo DatabaseMetaData interfaces iyo hababkooda muhiimka ah ee sida caadiga ah loo isticmaalo barnaamijyada JDBC. Waxaan sidoo kale aragnaysida loo cusboonaysiiyo xogta DB iyadoo la isticmaalayo ResultSet. ResultSetMetadata waxa uu ka kooban yahay macluumaadka ku saabsan ResultSet sida Magaca Tixda, tirinta tixda, iyo wixii la mid ah.

DatabaseMetaData waxa ku jira macluumaadka Database.

>

Interfaces-ka CallableStatement waa is dhexgal-hoosaadyada Interface-ka.

Statement Interface

Statement statemnt1 = conn.createStatement(); ResultSet rs1 = statemnt1.executeQuery(“Select * from EMPLOYEE_DETAILS”);

PreparedStatement Interface

PreparedStatement pstatemnt1 = conn.prepareStatement(insert_query); ResultSet rs1 = pstatemnt1.executeQuery(“Select * from EMPLOYEE_DETAILS”);

Waanu awoodnaa Isticmaal habka getX() si aad u hesho xogta tiirarka marka aad ku celcelinayso natiijada halka X - ay tahay datatype ee tiirka. Waxaan isticmaali karnaa Magacyada Saxiixa ama Tusmada si aan u helno qiyamka annagoo adeegsanayna hababka getX()

while(rs1.next()) { int empNum = rs1.getInt("empNum"); String lastName = rs1.getString("lastName"); String firstName = rs1.getString("firstName"); String email = rs1.getString("email"); String deptNum = rs1.getString("deptNum"); String salary = rs1.getString("salary"); System.out.println(empNum + "," +lastName+ "," +firstName+ "," +email +","+deptNum +"," +salary); } 

Waxa kale oo aan ku xusi karnaa nambarka tusaha tiirka halkii aad ka heli lahayd magaca safafka hababka getX()

while(rs1.next()) { int empNum = rs1.getInt(1); String lastName = rs1.getString(2); String firstName = rs1.getString(3); String email = rs1.getString(4); String deptNum = rs1.getString(5); String salary = rs1.getString(6); System.out.println(empNum + "," +lastName+ "," +firstName+ "," +email +","+deptNum +"," +salary); } 

Noocyada ResultSet

> Sida caadiga ah, waxaan ku soo celin karnaa xogta/qiimaha ku jira ResultSet kuwaas oo u soo noqday sida bayaanka SQL ee la fuliyay ee jihada hore. Waxaan ku qiyaasi karnaa qiyamka jihooyin kale annagoo adeegsanayna Natiijooyinka ScrollableSet. Waxaan qeexi karnaa nooca iyo isbarbardhigga ResultSet marka la abuurayo Bayaanka, PreparedStatement, iyo CallableStatement walxaha.

Waxaa jira 3 nooc oo ResultSet ah. Waxay kala yihiin:

>
    >
  1. > TYPE_FORWARD_ONLY: Waa ikhtiyaarka caadiga ah, halkaasoo cursorku u dhaqaaqo bilaw ilaa dhammaad, tusaale ahaan jihada hore.
  2. 4>TYPE_SCROLL_INSENSITIVE: Noocan ah, waxay ka dhigi doontaa cursorka inuu u socdo jihada hore iyo gadaalba. Haddii aan wax isbeddel ah ku samayno xogta anagoo ku celcelineyno xogta la kaydiyay, dib uma cusboonaysiin doonto kaydka xogta haddii qof uu beddelo xogta DB. Sababtoo ah xog-ururinta waxay haysaa xogta laga bilaabo wakhtiga su'aasha SQL ay soo celisoXogta.
  3. TYPE_SCROLL_SENSITIVE: Waxay la mid tahay TYPE_SCROLL_INSENSITIVE, faraqa u dhexeeya ayaa ah haddii qof uu cusboonaysiiyo xogta ka dib marka su'aasha SQL soo celiso xogta, iyadoo ku celcelinaysa waxay ka tarjumaysaa isbeddelada ku yimaada xogta.

ResultSet Concurrency

> Waxaa jira 2 nooc oo Concurrency ah ResultSet. Waxay kala yihiin:>
    >
  1. >NatiijooyinkaSet.CONCUR_READ_ONLY: Waa habka is-dhaafsiga ee caadiga ah. Waxaan kaliya akhrin karnaa xogta ku jirta ResultSet. Cusbooneysiinta ma khuseyso
  2. > ResultSet.CONCUR_UPDATABLE: Waan ku cusboonaysiin karnaa xogta ku jirta shayga ResultSet.

Xogta xogta qaarkood ma taageeraan habka isdhaafsiga ee dhammaan Noocyada natiijada. Xaaladdaas, waxaan u baahannahay inaan hubinno inay taageerayaan nooca aan rabno iyo qaabka isku-dhafka ah iyadoo la adeegsanayo habka supportsResultSetConcurrency().

Hababka Interface ResultSet

>

Waxaa jira 4 qaybood oo ah hababka ResultSet. Waxay kala yihiin:

>
    >Habab kala duwan
Habab kala duwanMarka hore, waxaan ka wada hadli doonaa Hababka Navigational ka dibna u sii socon doona.> # 1) Hababka Hagidda

Habkan waxa loo isticmaalaa in lagu dhaqaajiyo cursor agagaarka xogta.

  • Boolean absolute(int line): Waxa loo isticmaalaa in cursorka loo raro safka la cayimay kaas oo lagu sheegay meertada oo uu run ku noqdo haddii qalliinku guulaysto haddii kalena been ku soo noqoto.
  • >
  • >>MadhanafterLast(): Waxay ka dhigaysa ResultSet cursor inuu dhaqaaqo ka dib safka ugu dambeeya
  • Boolean first(): Waxay ka dhigaysa ResultSet cursorka inuu u dhaqaaqo safka kowaad. Run bay soo noqotaa haddii qalliinku guulaysto mid kale Been.
  • Boolean last(): Waxay ka dhigaysa ResultSet cursor inuu u gudbo safka u dambeeya. Run bay soo noqotaa haddii qalliinku guulaysto mid kale Been.
  • Boolean next(): Waxay ka dhigaysa ResultSet cursor inuu u gudbo safka xiga. Run bay soo noqotaa haddii diiwaanadu badan yihiin iyo Been haddii aanay jirin diiwaanno dheeraad ah.
  • Boolean previous(): Waxay ka dhigaysa ResultSet cursor inuu u gudbo safkii hore. Run bay soo noqotaa haddii qalliinku guulaysto mid kale Been.
  • >
  • > Boolean qaraabo(): Waxay u dhaqaaqdaa cursorka tirada safafka hore ama gadaal.
  • 12> Int getRow(): Waxay soo celisaa lambarka safka hadda jira shayga ResultSet ayaa tilmaamaya hadda.
  • Void moveToCurrentRow() Safka hadda jira haddii uu hadda ku jiro safka gelista.
  • Void moveToInsertRow(): Waxay u dhaqaaqdaa cursorka safka gaarka ah si uu safka u geliyo Database-ka. Waxay xasuusataa meesha cursorka ee hadda jirta. Markaa waxaan adeegsan karnaa habka dhaqaaqaToCurrentRow() si aan u dhaqaajino cursorka safka hadda jira ka dib marka la geliyo.

Culimadan,Barnaamijyada oo dhan waxay ku qoran yihiin Java. Waxaan isticmaalnay Java 8 nooca iyo Oracle DB.

>>Waxaad ka soo dejisan kartaa software-ka Oracle halkan > >3>

17>>> Waxaad ka soo dejisan kartaa nooca Java nooca 8 halkan >>>>>>> Tusaalaha Barnaamijka:(Isticmaalka Hababka Hagaha)

package com.STH.JDBC; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class ResultSet_Example { public static void main(String[] args) throws ClassNotFoundException { // TODO Auto-generated method stub //Select query String select_query = "select * from employee_details"; Class.forName("oracle.jdbc.driver.OracleDriver"); //Connecting to Oracle DB try(Connection conn = DriverManager.getConnection("jdbc:oracle:thin:system/pass123@localhost:1521:X E")) { //Creating DatabaseMetaData object DatabaseMetaData dbmd = conn.getMetaData(); //Checking whether the driver supports scroll sensitive type and concur updatable boolean isSupportResultSetType = dbmd.supportsResultSetConcurrency(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); if(isSupportResultSetType == true) { // Creating prepared Statement PreparedStatement pstatemnt1 = conn.prepareStatement(select_query,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet. CONCUR_UPDATABLE); ResultSet rs = pstatemnt1.executeQuery(); //Moving the cursor to point first row rs.first(); System.out.println("FIRST ROW \n EMP NUM = " + rs.getInt("empNum") + "\n LAST NAME = "+ rs.getString(2)+"\n FIRST NAME = " + rs.getString(3)); //Moving the cursor to point last row rs.last(); System.out.println("LAST ROW \n EMP NUM = " + rs.getInt("empNum") + "\n LAST NAME = "+ rs.getString(2)+"\n FIRST NAME = " + rs.getString(3)); //Moving the cursor to point before first row rs.beforeFirst(); System.out.println("Cursor is pointing at before the first row. Use next() to move in forward direction"); //Moving the cursor to point first row using next() rs.next(); System.out.println("FIRST ROW \n EMP NUM = " + rs.getInt("empNum") + "\n LAST NAME = "+ rs.getString(2)+"\n FIRST NAME = " + rs.getString(3)); //Moving the cursor to point after last row rs.afterLast(); System.out.println("Cursor is pointing at after the last row. Use previous() to move in backward direction"); //Moving the cursor to point last row using previous() rs.previous(); System.out.println("LAST ROW \n EMP NUM = " + rs.getInt("empNum") + "\n LAST NAME = "+ rs.getString(2)+"\n FIRST NAME = " + rs.getString(3)); //Moving the cursor to point third row rs.absolute(3); System.out.println("Cursor is pointing at 3rd row"); System.out.println("THIRD ROW \n EMP NUM = " + rs.getInt("empNum") + "\n LAST NAME = "+ rs.getString(2)+"\n FIRST NAME = " + rs.getString(3)); //Moving the cursor to point previous row of third row rs.relative(-1); System.out.println("Cursor is pointing to the 1 row previous to the 3rd row"); System.out.println("Second ROW \n EMP NUM = " + rs.getInt("empNum") + "\n LAST NAME = "+ rs.getString(2)+"\n FIRST NAME = " + rs.getString(3)); //Moving the cursor to point 4th row after the 2nd row rs.relative(4); System.out.println("Cursor is pointing to the 4th row after the 2nd row"); System.out.println("SIXTH ROW \n EMP NUM = " + rs.getInt("empNum") + "\n LAST NAME = "+ rs.getString(2)+"\n FIRST NAME = " + rs.getString(3)); //Moving the cursor to point current row System.out.println(" Current Row = " + rs.getRow()); } } catch (SQLException e) { e.printStackTrace(); } } }

OUTPUT:

Xogta ku jirta Shaxda faahfaahinta Shaqaalaha

> >>> 3> 20 > > Sharaxaad: >

Barnaamijka kor ku xusan waxaan ku dhaqangelinay kii ugu horreeyay (, kii u dambeeyay (), ka hor (), ka dambeeya (), xiga() ), kii hore (), absolute(), qaraabo () iyo getRow() hababka ResultSet. Si loo isticmaalo hababkan waxaan dejineynaa ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE qiyamka habka diyaarinta Hababka Helitaanka

>ResultSet waxa ay kaydisay xogta miiska Database-ka. Hababka wax-soo-saarka waxa loo isticmaalaa in lagu helo qiyamka shaxda ee ResultSet. Taas awgeed, waxaan u baahanahay inaan dhaafno mid ka mid ah qiimaha Tusmada ama Magaca Tiirka.

> Kuwa soo socda ayaa ah hababka hel ee ResultSet:

> 15>> 12>>int getInt (int ColumnIndex):Waxaa loo isticmaalaa in lagu helo tusaha tiirka la cayimay sida nooca xogta int.
  • float getFloat(int ColumnIndex): Waxa loo isticmaalaa in lagu helo Qiimaha tiirka la cayimay Tusaha oo ah nooca xogta sabaynta.
  • java.sql.dategetDate(int ColumnIndex): Waxa loo isticmaalaa in lagu helo tusmada tiirka la cayimay oo ah qiime taariikheed
  • >
  • >int getInt Qiimaha tiirka la cayimay oo ah nooca xogta int
  • >
  • >>float getFloat
  • > Java.sql.date getDate(String Column Name): Waxa loo isticmaalaa in lagu helo qiimaha tiirka la cayimay sida qiimaha taariikhda dhammaan noocyada xogta asaasiga ah (Boolean, dheer, double) iyo String sidoo kale gudaha ResultSet interface. Waxaan sidoo kale ka heli karnaa xog isku dubaridan iyo nooca binary sidoo kale Database-ka. Waxa kale oo ay leedahay habab taas loogu talagalay.

    # 3) Hababka dejiyaha / Cusboonaysiinta

    Waxaan cusbooneysiin karnaa qiimaha Database-ka iyadoo la adeegsanayo hababka ResultSet Updater. Waxay la mid tahay hababka Getter, laakiin halkan waxaan u baahanahay inaan u gudubno qiyamka / xogta tiirarka gaarka ah si loo cusboonaysiiyo Database-ka.

    >

      >
    • > cusboonaysiinta voidInt updateFloat(int ColumnIndex, float f): Waxa loo istcmaalaa in lagu cusboonaysiiyo qiimaha Tusmada tiirka la cayimay ee leh qiimaha sababbaynta> Waxa loo istcmaalaa in lagu cusboonaysiiyo qiimaha Tusmada tiirka la cayimayoo leh qiimaha taariikhda.
    • >
    • > update voidInt cusboonaysiin madhanFloat (String Column Name, float f): Waxa loo istcmaalaa in lagu cusboonaysiiyo qiimaha tiirka la cayimay ee leh qiimaha sabbaynta ee la bixiyay.
    • Java.sql.date getDate ColumnName): Waxaa loo istcmaalaa in lagu cusboonaysiiyo qiimaha tiirka la cayimay oo leh qiimaha taariikhda la bixiyay.

    Waxaa jira habab Updater ah oo loogu talagalay dhammaan noocyada xogta asaasiga ah (Boolean, dheer, double) iyo String sidoo kale ku dhexjira ResultSet interface.

    Habab cusboonaysiinta kaliya cusboonaysii xogta ku jirta shayga ResultSet. Qiimaha waa lagu cusboonaysiin doonaa gudaha DB ka dib marka la waco habka galintaRow ama updateRow.

    Cusboonaysiinta safka: > , gudbinta magaca tiirka ama tusmada, iyo qiyamka si loo cusboonaysiiyo. Waxaan u isticmaali karnaa nooc kasta oo xog ah oo ku jira booska X ee habka updateX. Ilaa hadda, waxaan cusbooneysiinay xogta ku jirta shayga ResultSet. Si loo cusboonaysiiyo xogta gudaha DB, waa inaan wacnaa habka updateRow()

    > Gelida saf: > in la geliyo saf cusub. Horey ayaan tan ugu soo sheegnay qaybta hababka hagidda. Marka xigta, waxaan u baahanahay inaan wacno habka updateX() si aan xogta ugu darno safka. Waa inaan siinaa xogta dhammaan tiirarka haddii kale waxay isticmaali doontaa qiimaha caadiga ah ee gaarka ahtiirka.

    Kadib cusboonaysiinta xogta, waxaan u baahanahay inaan wacno habka insertRow(). Ka dib isticmaal habka moveToCurrentRow(), si aad ugu celiso booska cursorka safkii aan joognay ka hor inta aanan bilaabin galin saf cusub KA-soo-baxa:

    >

    Sharaxaad:

    Barnaamijka kore waxa aanu qabanay waa marka hore, waxaanu kaydinay xogta shaxda Details Employee_ee shayga ResultSet isticmaalaya SELECT weydiin. Kadib, waxaanu ku soo bandhignay xogta safka ugu dambeeya ee miiska shaqaalaha_details anagoo adeegsanayna habka ugu dambeeya () ee ResultSet. moveToInsertRow() habka ka dhigaya cursorku inuu tilmaamo safka hadda jira, hadda safka hadda jira waa safka ugu dambeeya.

    updateXXX() hababka loo isticmaalo in lagu cusboonaysiiyo qiyamka safka iyo gelinRow() habka ayaa xogta galiyay saf cusub. Annaga oo adeegsanayna habka absolute(), waxaan ka dhignay cursor si uu u tilmaamo safka 5aad. Habka UpdateInt () ayaa loo isticmaalay in lagu cusboonaysiiyo EMPNUM oo leh id cusub oo ah shaqaalaha 5th ee miiska. Taas ka dib, waxay soo bandhigtay xogta si aad u hubiso in EMPNUM la cusbooneysiiyey iyo in kale.

    Waxay ka dhigtay cursor si ay u tilmaamto safka ugu dambeeya ee miiska iyadoo la isticmaalayo ugu dambeeya () oo soo bandhigay. Si aan u fulino macquulka sare, waxaan u baahanahay inaan dejino ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE qiyamka habka diyaarinta.

    #4)Habab kala duwan 4>Void close(): Waxa loo isticmaalaa in lagu xidho tusaalaha ResultSet oo la xoreeyoagabka laxidhiidha tusaale ahaan ResultSet.

  • ResultSetMetaData getMetaData(): Waxay soo celisaa ResultSetMetaData Instance. Waxay haysaa macluumaadka ku saabsan nooca iyo hantida tiirarka soosaarka weydiinta. Waxaan wax badan oo ku saabsan ResultSetMetaData ka baran doonaa qaybta xigta.
  • ResultSetMetaData

    > >Waa maxay Metadata? >> >Metadata Macnaheedu waa xog ku saabsan xogta. Isticmaalka interface-kan, waxaan heli doonaa macluumaad dheeraad ah oo ku saabsan ResultSet. Waxaa laga heli karaa xirmada Java.sql. Shay kasta oo ResultSet ah waxa uu la xidhiidha hal shay ResultSetMetaData.

    Shaygani waxa uu yeelan doonaa faahfaahinta sifooyinka tiirarka sida datatype ee tiirka, magaca tiirka, tirada tiirarka, magaca miiska, magaca schema, iwm. Waxaan ku heli karnaa shayga ResultSetMetaData anagoo adeegsanayna habka getMetaData() ee ResultSet.

    Syntax of the ResultSetMetaData:

    PreparedStatement pstatemnt1 = conn.prepareStatement(insert_query); ResultSet rs1 = pstatemnt1.executeQuery(“Select * from EMPLOYEE_DETAILS”); ResultSetMetaData rsmd = rs.getMetaData();

    Habka muhiimka ah ee ResultSetMetaData interface:5

    > 24> Habka Magaca Sharaxaad > > 30> Xargaha getColumnName(int column) 31> Waxay soo celisaa magaca tiirka tiirka gaarka > > > 30> String getColumnTypeName(int column) > Waxay soo celisaa xogta nooca Tiir gaar ah oo aan u dhaafnay halbeeg ahaan > > > String getTableName(int column) > Waxay soo celinaysaa magaca shaxda ee tiirka > > Xadhkaha heliSchemaName(int tiirka) > >
    Dabool ilaa sare