शीर्ष 50 जेडीबीसी साक्षात्कार प्रश्न और उत्तर (2025)

यहां नए लोगों के साथ-साथ अनुभवी उम्मीदवारों के लिए उनके सपनों की नौकरी पाने के लिए जावा डेटाबेस कनेक्टिविटी (जेडीबीसी) साक्षात्कार प्रश्न और उत्तर दिए गए हैं।

निःशुल्क पीडीएफ डाउनलोड: जेडीबीसी साक्षात्कार प्रश्न


1) जेडीबीसी क्या है?

JDBC का मतलब जावा डेटाबेस कनेक्टिविटी है। जेडीबीसी एक जावा एपीआई है जो डेटाबेस के साथ संचार करता है और SQLquery निष्पादित करता है।


2) JDBC ड्राइवर क्या है और कितने JDBC ड्राइवर उपलब्ध हैं?

जेडीबीसी ड्राइवर में कक्षाएं और इंटरफेस शामिल हैं जो जावा एप्लिकेशन और डेटाबेस की सहायता करते हैं।

JDBC ड्राइवर 4 प्रकार के होते हैं।

  1. टाइप 1 ड्राइवर या JDBC-ODBC ब्रिज ड्राइवर।
  2. टाइप 2 ड्राइवर या नेटिव-API, आंशिक रूप से जावा ड्राइवर।
  3. टाइप 3 ड्राइवर या नेटवर्क प्रोटोकॉल, शुद्ध जावा ड्राइवर।
  4. टाइप 4 ड्राइवर या नेटिव-प्रोटोकॉल, शुद्ध जावा ड्राइवर।

3) मैं कैसे कनेक्ट कर सकता हूं MySQL या जावा के साथ Oracle?

//for MySQL {
try {

Class.forName ("com.mysql.jdbc.Driver");

con=DriverManager.getConnection ("jdbc: mysql://localhost:3306/dbanme", "username", "password");

Statement st=con.createstatement ();

Resultset rs=st.executeQuery ("select * from user");

rs.next (); catch (ClassNotFoundException e) {

System.err.println ("ClassNotFoundException in get Connection," + e.getMessage()); }

catch (SQLException e) {

System.err.println ("SQLException in getConnection," + e.getMessage ()) ;}

//for oracle

{

try

{

Class.forName ("oracle.jdbc.driver.OracleDriver");

con= DriverManager.getConnection ("jdbc:oracle:thin:@localhost:1521:dbname", "username", "password");

Statement st=con.createstatement();

Resultset rs=st.executeQuery("select * from user");

Rs.next();

} catch (ClassNotFoundException e) {

System.err.println("ClassNotFoundException in get Connection," +e.getMessage()); }

catch (SQLException e) {

System.err.println("SQLException in getConnection, " + e.getMessage()); } return con; }

कोड स्पष्टीकरण

Class.forName JDBC ड्राइवर का एक उदाहरण बनाता है और ड्राइवरमैनेजर के साथ रजिस्टर करता है।

getConnection() विधि हमेशा डेटाबेस से कनेक्शन स्थापित करती है।

हमें उपरोक्त कनेक्शन ऑब्जेक्ट से एक स्टेटमेंट ऑब्जेक्ट बनाने की आवश्यकता है। कथन परिणामसेट ऑब्जेक्ट लौटाएगा। ResultSet.next () का अर्थ है यदि परिणाम सेट अभी भी पंक्ति लौटा रहा है।


4) कौन सा JDBC ड्राइवर सबसे तेज़ ड्राइवर है?

टाइप 4 ड्राइवर या नेटिव-प्रोटोकॉल, शुद्ध जावा ड्राइवर, सबसे तेज़ ड्राइवर है।


5) जेडीबीसी एपीआई घटक क्या हैं?

घटक चार प्रकार के होते हैं

  1. जेडीबीसी एपीआई
  2. जेडीबीसी चालक प्रबंधक
  3. जेडीबीसी टेस्ट सूट
  4. जेडीबीसी-ओडीबीसी ब्रिज
जेडीबीसी साक्षात्कार प्रश्न
जेडीबीसी साक्षात्कार प्रश्न

6) जेडीबीसी कथन क्या हैं?

JDBC स्टेटमेंट 3 प्रकार के होते हैं, जैसा कि नीचे दिया गया है:

  1. कथन: यह क्रियान्वित होगा एसक्यूएल डेटाबेस के विरुद्ध क्वेरी (स्थैतिक SQL क्वेरी)।
  2. तैयार बयान: इसका उपयोग तब किया जाता है जब हम SQL स्टेटमेंट को बार-बार निष्पादित करना चाहते हैं। इनपुट डेटा गतिशील है और रन टाइम पर इनपुट लिया जाता है।
  3. कॉल करने योग्य कथन: इसका उपयोग तब किया जाता है जब हम संग्रहीत प्रक्रियाओं को निष्पादित करना चाहते हैं।

7) हम संग्रहित प्रक्रियाओं को कैसे निष्पादित कर सकते हैं?

संग्रहीत प्रक्रियाओं को JDBCcallable कथन का उपयोग करके निष्पादित किया जा सकता है। यहाँ कोड है.

Connection conn = null;

CallableStatement callStmt = conn.prepareCall("{call myStoreproc(?, ?)}");

callStmt.setString(1, "abcdefg");


8) जावा में ReadyedStatement का उपयोग करने के क्या फायदे हैं?

तैयार स्टेटमेंट का उपयोग एक ही SQL स्टेटमेंट को बार-बार निष्पादित करने के लिए किया जाता है। तैयार कथन केवल एक बार संकलित किया गया है, भले ही इसमें "n" संख्या का उपयोग कई बार किया गया हो


9) रिजल्टसेट क्या है?

Java.sql.ResultSet इंटरफ़ेस का अर्थ SQL क्वेरी का परिणाम सेट है। इसका मतलब है कि कर्सर किसी तालिका की एक पंक्ति की ओर इशारा कर रहा है; यह पहली पंक्ति से पहले की ओर इशारा करता है।


10) रिजल्टसेट कितने प्रकार के होते हैं?

तीन प्रकार के ResultSet उपलब्ध हैं। यदि हम कोई परिणामसेट घोषित नहीं करते हैं तो इसका मतलब है कि हम TYPE_FORWARD_ONLY को कॉल कर रहे हैं

  1. TYPE_FORWARD_ONLY: कर्सर केवल आगे बढ़ सकता है।
  2. TYPE_SCROLL_INSENSITIVE: कर्सर आगे और पीछे जा सकता है लेकिन संवेदनशील नहीं।
  3. TYPE_SCROLL_SENSITIVE: कर्सर आगे और पीछे जा सकता है, लेकिन यह संवेदनशील है

11) जेडीबीसी में रोसेट बनाम रिजल्टसेट के बीच अंतर बताएं?

DB के साथ ResultSet हैंडल कनेक्शन में, हम Result को एक क्रमबद्ध ऑब्जेक्ट के रूप में नहीं बना सकते हैं।

उपरोक्त समस्या के कारण, हम पूरे नेटवर्क में Resultset पास नहीं कर सकते।

RowSet, ResultSet इंटरफ़ेस का विस्तार करता है, इसलिए यह ResultSet की सभी विधियों को धारण करता है। रोसेट को क्रमबद्ध किया गया है।

इसलिए, हम रोसेट को एक क्लास से दूसरे क्लास में पास कर सकते हैं क्योंकि इसका डेटाबेस से कोई संबंध नहीं है।


12) आप जेडीबीसी में setAutoCommit(false) का उपयोग क्यों करेंगे?

यदि आप ऑटो कमिट को बंद करना चाहते हैं तो कनेक्शन सेट करें। setAutoCommit(false)


13) जेडीबीसी में डेटाबेस चेतावनियाँ क्या हैं और हम जेडीबीसी में डेटाबेस चेतावनियों को कैसे संभाल सकते हैं?

SQL चेतावनी या डेटाबेस चेतावनी SQLException वर्ग का उपवर्ग है। हम कनेक्शन, स्टेटमेंट और रिजल्टसेट पर getWarnings() विधि का उपयोग करके इसे संभाल सकते हैं


14) क्या मुझे शून्य परिणामसेट मिल सकता है?

नहीं, हम शून्य परिणामसेट प्राप्त नहीं कर सकते। यदि अगले रिकॉर्ड में कोई पंक्ति नहीं है तो ResultSet.next() शून्य वापस आ सकता है।


15) मेटाडेटा से आपका क्या तात्पर्य है और हम इसका उपयोग क्यों कर रहे हैं?

मेटाडेटा का अर्थ है डेटा या अन्य डेटा के बारे में जानकारी। हम डेटाबेस उत्पाद संस्करण, ड्राइवर का नाम, तालिकाओं की कुल संख्या और दृश्य प्राप्त करने के लिए मेटाडेटा का उपयोग करते हैं।


16) जेडीबीसी में एक्ज़ीक्यूटिंग, एक्ज़ीक्यूटक्वेरी, एक्ज़ीक्यूटअपडेट के बीच क्या अंतर है?

निष्पादित(): इसका उपयोग किसी भी प्रकार की SQL क्वेरी के लिए किया जा सकता है।

executeQuery() : इसका उपयोग चुनिंदा क्वेरी के लिए किया जा सकता है।

एक्ज़ीक्यूटअपडेट(): इसका उपयोग तालिका को बदलने/अद्यतन करने के लिए किया जा सकता है।


17) डेटाबेस कनेक्शन पूलिंग क्या है? कनेक्शन पूल का उपयोग करने के लाभ?

कनेक्शन पूलिंग का मतलब है कि कनेक्शन कैश में संग्रहीत किए जाएंगे और हम भविष्य में उनका पुन: उपयोग कर सकते हैं।

लाभ:

  1.  यह तेज है
  2.  कनेक्शन पूलिंग से डेटाबेस कनेक्शन का निदान और विश्लेषण करना आसान हो जाता है।

18) ड्राइवरमैनेजर क्लास का क्या कार्य है?

यह उपयोगकर्ता और ड्राइवरों के बीच एक इंटरफ़ेस है। ड्राइवरमैनेजर डेटाबेस और उपयुक्त ड्राइवर के बीच सभी गतिविधियों को ट्रैक करता है।


19) बैच अपडेट का क्या अर्थ है?

बैच अपडेट का अर्थ है SQL क्वेरीज़ के एक सेट/समूह को एक साथ निष्पादित करना।

बैच अपडेट का उपयोग केवल सम्मिलित करने, अद्यतन करने और हटाने के लिए किया जा सकता है, लेकिन चुनिंदा क्वेरी के लिए नहीं।


20) JDBC API में कितने पैकेज उपलब्ध हैं?

JDBC API में दो प्रकार के पैकेज उपलब्ध हैं

  1. java.sql
  2. javax.sql

21) एक्ज़ीक्यूट, एक्ज़ीक्यूटक्वेरी और एक्ज़ीक्यूटअपडेट का रिटर्न प्रकार क्या है?

निष्पादन का रिटर्न प्रकार बूलियन है

एक्ज़ीक्यूटक्वेरी का रिटर्न प्रकार ResultSet ऑब्जेक्ट है

एक्ज़ीक्यूटअपडेट का रिटर्न प्रकार int है


22) परिणाम सेट का सूचकांक 0 या 1 से शुरू होता है?

परिणाम सेट का सूचकांक 1 से शुरू होता है।


23) ड्राइवर लोड करते समय Class.forName की क्या भूमिका है?

Class.forName JDBC ड्राइवर का एक उदाहरण बनाता है और ड्राइवरमैनेजर के साथ रजिस्टर करता है।


24) जेडीबीसी-ओडीबीसी ब्रिज मल्टी-थ्रेडेड है या नहीं?

नहीं, जेडीबीसी-ओडीबीसी ब्रिज ओडीबीसी पर की गई सभी कॉलों को क्रमबद्ध करने के लिए सिंक्रनाइज़ तरीकों का उपयोग करता है।


25) कौन सा इंटरफ़ेस JDBC में लेनदेन प्रबंधन को संभालता है?

कनेक्शन इंटरफ़ेस JDBC में लेनदेन प्रबंधन को संभालता है। यह कमिट (), रोलबैक () आदि के लिए विधि प्रदान करता है।


26) "कोई उपयुक्त ड्राइवर नहीं" त्रुटि क्यों होती है?

कोई उपयुक्त ड्राइवर नहीं" तब होता है जब हम DriveManager.getConnection विधि को कॉल कर रहे होते हैं,

यह निम्नलिखित कारणों से हो सकता है:

  • GetConnection विधि को कॉल करने से पहले सटीक JDBC ड्राइवर लोड करने में असमर्थ।
  • यह अमान्य या ग़लत JDBC URL हो सकता है.

27) तैयार किए गए स्टेटमेंट तेज़ होते हैं। क्यों?

तैयार कथन का निष्पादन प्रत्यक्ष निष्पादन की तुलना में तेज़ है क्योंकि कथन केवल एक बार संकलित किया जाता है। तैयार किए गए स्टेटमेंट और जेडीबीसी ड्राइवर निष्पादन के दौरान एक दूसरे से जुड़े हुए हैं, और कोई कनेक्शन ओवरहेड नहीं है।


28) क्या एकाधिक डेटाबेस से जुड़ना संभव है? क्या एकल स्टेटमेंट का उपयोग करके हम दो या तीन या कई डेटाबेस से डेटा अपडेट या निकाल सकते हैं?

हां, एक ही समय में एकाधिक डेटाबेस से कनेक्ट करना संभव है, लेकिन यह विशिष्ट ड्राइवर पर निर्भर करता है।

विभिन्न डेटाबेस से डेटा को अपडेट करने और निकालने के लिए हम एकल स्टेटमेंट का उपयोग कर सकते हैं। लेकिन हमें एकाधिक डेटाबेस या एकल डेटाबेस से निपटने के लिए मिडलवेयर की आवश्यकता होती है।


29) मुझे setMaxRows(int) और SetFetchSize(int) के बीच अंतर बताएं?

सेटमैक्सरोज़(int) SetFetchSize(int)?
परिभाषित करता है कि एक परिणामसेट में एक समय में कितनी पंक्तियाँ हो सकती हैं डेटाबेस से पढ़ी जाने वाली पंक्तियों की संख्या को परिभाषित करता है।

30) विशेष पात्रों के बारे में बताएं?

एक विशेष चरित्र के पहले एक भागने वाला चरित्र आता है। उदाहरण -

SELECT NAME FROM TABLE WHERE NAME LIKE '\_%' {escape '\'}

31) डेटाबेस में "डर्टी रीड" का क्या अर्थ है?

डर्टी रीड का अर्थ है "वह मान पढ़ें जो सही हो सकता है या सही नहीं हो सकता है।"


32) दो चरण प्रतिबद्धताओं से आपका क्या तात्पर्य है?

वितरित लेनदेन प्रक्रिया में दो चरण की प्रतिबद्धता का उपयोग किया जाता है। यदि कोई लेनदेन निष्पादित हो रहा है और यह कई डेटाबेस को प्रभावित करेगा। सभी डेटाबेस को एक दूसरे के साथ सिंक्रनाइज़ करने के लिए दो चरण कमिट का उपयोग किया जाएगा।


33) JDBC में कितने लॉकिंग सिस्टम होते हैं?

JDBC में दो प्रकार की लॉकिंग उपलब्ध है जिससे हम एक से अधिक यूजर को हैंडल कर सकते हैं।

यदि दो उपयोगकर्ता एक ही रिकॉर्ड देख रहे हैं, तो कोई लॉकिंग नहीं की जाती है। यदि एक उपयोगकर्ता किसी रिकॉर्ड को अपडेट कर रहा है और दूसरा उपयोगकर्ता भी उसी रिकॉर्ड को अपडेट कर रहा है। उस समय, हम लॉकिंग का उपयोग करने जा रहे हैं।

  1. आशावादी लॉकिंग: यह रिकॉर्ड को तभी लॉक करेगा जब हम "अपडेट" करने जा रहे होंगे।
  2. निराशावादी लॉकिंग: यह देखने, अपडेट करने और समय देने के लिए रिकॉर्ड को "चयन" से लॉक कर देगा।

34) जेडीबीसी में क्या अपवाद हैं?

JDBC में चार प्रकार के अपवाद हैं।

  1. बैचअपडेट अपवाद
  2. डेटा ट्रंकेशन
  3. एसक्यूएल अपवाद
  4. एसक्यूएल चेतावनी

35) जेडीबीसी का उपयोग करके डीबी से जुड़ने के चरण बताएं?

JDBC का उपयोग करके डेटाबेस को कनेक्ट करने के दो तरीके हैं

  1. ड्राइवरमैनेजर का उपयोग करना:

यह class.forName(driver class) और Class.forName() की मदद से ड्राइवर क्लास को लोड करेगा।

इसे लोड करने के बाद नियंत्रण ड्राइवरमैनेजर को भेज दिया जाएगा।

DriveManager.getConnection() डेटाबेस तक पहुंचने के लिए कनेक्शन बनाएगा।

  1. डेटासोर्स का उपयोग करना:

डेटासोर्स के लिए, जेएनडीआई की मदद से ड्राइवरमैनेजर का उपयोग करने की कोई आवश्यकता नहीं है। यह नामकरण सेवा सर्वर से डेटा स्रोत को खोजेगा। DataSource.getConnection() विधि कनेक्शन ऑब्जेक्ट को DB पर लौटा देगी।


36) जेडीबीसी आर्किटेक्चर की व्याख्या करें?

JDBC API डेटाबेस के लिए 2-स्तरीय और 3-स्तरीय दोनों मॉडलों का समर्थन करता है।

2-स्तरीय मॉडल में जावा एप्लिकेशन डेटा स्रोत से इंटरैक्ट करता है

3-स्तरीय मॉडल में कमांड को सेवाओं के "मध्य स्तर" पर पुनर्निर्देशित किया जाता है। उसके बाद डेटा स्रोत को कमांड भेजा जाता है।


37) जेडीबीसी 4.0 में कौन सी नई सुविधाएँ उपलब्ध हैं?

नई विशेषताएं हैं

  • जेडीबीसी ड्राइवर वर्ग द्वारा ऑटो लोडिंग
  • उन्नत कनेक्शन प्रबंधन
  • RowId SQL सक्षम किया गया
  • एनोटेशन का उपयोग करके SQL द्वारा डेटासेट कार्यान्वित किया गया
  • SQL अपवाद हैंडलिंग का संवर्द्धन
  • एसक्यूएल का समर्थन एक्सएमएल फ़ाइलों

38) जेडीबीसी में कौन से पैकेज का उपयोग किया जाता है?

JDBC में 8 पैकेज का उपयोग किया जाता है -

  1. एसक्यूएल.ड्राइवर
  2. संबंध
  3. कथन
  4. तैयार बयान
  5. कॉल करने योग्य विवरण
  6. परिणाम सेट
  7. ResultSetMetaData
  8. डेटाबेसमेटाडेटा

39) जेडीबीसी में कितने रोसेट उपलब्ध हैं?

दो प्रकार के पंक्ति सेट उपलब्ध हैं:

  1. कनेक्टेड - एक कनेक्टेड रोसेट ऑब्जेक्ट तुरंत डेटाबेस से कनेक्ट हो जाता है। यदि एप्लिकेशन समाप्त हो जाता है तो कनेक्टेड RowSet ऑब्जेक्ट भी समाप्त हो जाता है।
  2. डिस्कनेक्ट किया गया - आवश्यक क्वेरी के निष्पादन के बाद एक डिस्कनेक्ट किया गया रोसेट ऑब्जेक्ट डेटाबेस से जुड़ जाता है।

40)कनेक्शन का क्या अर्थ है?

कनेक्शन इंटरफ़ेस में डेटाबेस के साथ इंटरेक्शन के तरीके शामिल हैं।


41) जेडीबीसी सेवप्वाइंट समझाएं?

सेवपॉइंट एक ऐसे बिंदु का प्रतिनिधित्व करता है जिस पर वर्तमान लेनदेन वापस आ सकता है। अपने सभी परिवर्तनों को वापस लाने के बजाय, वह उनमें से केवल कुछ को ही वापस लाने का विकल्प चुन सकता है।


42) डेटासोर्स का उपयोग करने के लाभों की सूची बनाएं?

डेटा स्रोत प्रशासक और प्रोग्रामर/डेवलपर के बीच काम को विभाजित कर रहा है।

व्यवस्थापक एक डेटासोर्स ऑब्जेक्ट बनाता है और इसे जेएनडीआई रजिस्ट्री के साथ जोड़ता है। एक प्रोग्रामर/डेवलपर रजिस्ट्री से डेटासोर्स ऑब्जेक्ट को पुनः प्राप्त करता है। फिर यह डेटाबेस के साथ कनेक्शन स्थापित करेगा।


43) क्या कारण है कि हमें ResultSet के चारों ओर रैपर की तरह JdbcRowSet की आवश्यकता है?

हम ResultSet ऑब्जेक्ट को JavaBeans घटक के रूप में उपयोग कर सकते हैं।

  • JdbcRowSet का उपयोग JavaBeans घटक के रूप में भी किया जा सकता है। इसीलिए इसे डिज़ाइन या संकलन समय पर बनाया और कॉन्फ़िगर किया जा सकता है और रन टाइम पर निष्पादित किया जा सकता है।
  • सभी jdbcRowSet ऑब्जेक्ट स्क्रॉल करने योग्य और अद्यतन करने योग्य हैं।

44) किसी परिणाम सेट को हम कितने तरीकों से देख सकते हैं?

ResultSet देखने के 2 तरीके हैं

  1. स्तंभ
  2. स्तंभ सूचकांक.

उदाहरण: getInt(स्ट्रिंग कॉलमनाम), getInt(int columnIndex)


45) आप परिणाम सेट को कितने तरीकों से अपडेट कर सकते हैं?

निम्नलिखित विधियाँ आपको परिणाम सेट को अद्यतन करने में मदद करती हैं

  • अद्यतन पंक्ति()
  • पंक्ति को हटाएं()
  • ताज़ा पंक्ति()
  • कैंसलरोअपडेट्स()
  • सम्मिलित पंक्ति()

46) हमें जावा में डेटाबेस कनेक्शन क्यों बंद करना चाहिए?

सर्वोत्तम अभ्यास के रूप में, हमें परिणामसेट, कथन और कनेक्शन को बंद करना होगा। यदि कनेक्शन किसी पूल से आ रहा है, तो बंद होने पर, कनेक्शन को पुन: उपयोग के लिए पूल में वापस भेज दिया जाता है। हम इसे अंततः {} ब्लॉक में कर रहे हैं, क्योंकि यदि कोई अपवाद होता है, तो हमें अभी भी इसे बंद करने का मौका मिलता है।


47) हम जेडीबीसी में ब्लॉब डेटाटाइप का उपयोग क्यों कर रहे हैं?

इनका उपयोग डेटाबेस में बड़ी मात्रा में डेटा जैसे चित्र, मूवी आदि को संग्रहीत करने के लिए किया जाता है।


48) ResultSet में Concurrency विशेषता कैसे सेट करें?

दो समवर्ती स्तर हैं

  1. CONCUR_READ_ONLY - यह केवल पढ़ने के लिए है।
  2. CONCUR_UPDATABLE - यह पढ़ने और अपडेट करने दोनों के लिए है।

49) क्लाइंट और सर्वर डेटाबेस कर्सर के बीच क्या अंतर है?

सर्वर साइड कर्सर का मतलब है कि डेटा और परिणाम सर्वर पर सहेजे गए हैं। केवल अनुरोधित डेटा क्लाइंट को भेजा जाता है।

क्लाइंट साइड कर्सर का अर्थ है क्लाइंट स्थान पर भेजा गया सारा डेटा।


50) आप जेडीबीसी का उपयोग करके डेटाबेस में छवियां कैसे सम्मिलित करते हैं?

बीएलओबी डेटाटाइप का उपयोग करके डेटाबेस में छवियां जिसमें छवि बाइट स्ट्रीम के रूप में संग्रहीत होती है। नीचे दिया गया कोड दिखा रहा है कि छवि को डीबी में कैसे सम्मिलित किया जाए।

Connection con = null;

PreparedStatement prs = null;

InputStream inputstrm = null;

Class.forName("oracle.jdbc.driver.OracleDriver");

con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:mydb","username","yourpassword");

//localhost is your machine or hostname

//1521 is your oracle database port number

//mydb is your oracle database name.

prs = con.prepareCall("insert into emp_profile values (?,?)");

prs.setInt(1, 1223);

inputstrm = new FileInputStream(new File("emp_img.jpg"));

prs.setBinaryStream(2, inputstrm);

int count = prs.executeUpdate();

ये साक्षात्कार प्रश्न आपके मौखिक (मौखिक) में भी मदद करेंगे

साझा करें

2 टिप्पणियाँ

  1. अवतार जाह्नवी कहते हैं:

    विद्यार्थियों के लिए बहुत उपयोगी...

एक जवाब लिखें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड इस तरह चिह्नित हैं *