2013-06-04 3 views
6

मैं डेल्फी 7 और पहुँच 2007पैरामीटर - डेल्फी 7

मुझे पता है कि किसी को भी मुझे बताएंगे कि कैसे SQL कथन और ADO साथ पैरामीटर का उपयोग कर सकते हैं चाहता हूँ उपयोग कर रहा हूँ।

आवश्यक कोडिंग और आगे क्या है। क्षमा करें मैं डेल्फी के लिए नया हूँ।

+0

+1 स्ट्रिंग concatenation (और एसक्यूएल इंजेक्शन हमलों) का उपयोग करने के बजाय पैरामीटर का उपयोग करने के लिए पूछने के लिए +1! –

उत्तर

9

बस क्वेरी के SQL सेट करें, और उसके बाद पैरामीटर को पॉप्युलेट करें। पैरामीटर नामों का प्रयोग करें जो आपको समझ में आता है; उदाहरण के लिए मैंने अभी LastName और FirstName का उपयोग किया है। प्रश्न में आपके संपादन के बाद मैंने TQuery के बजाय TADOQuery का उपयोग करने के लिए अद्यतन किया है।

ADOQuery1.SQL.Clear; 
ADOQuery1.SQL.Add('SELECT * FROM MyTable'); 
ADOQuery1.SQL.Add('WHERE LastName = :LastName AND'); 
ADOQuery1.SQL.Add('FirstName = :FirstName'); 

// Populate the parameters and open it 
ADOQuery1.Parameters.ParamByName('LastName').Value := 'Jones'; 
ADOQuery1.Parameters.ParamByName('FirstName').Value := 'James'; 
ADOQuery1.Open; 
// Use query results 

ADOQuery1.Close; 
// Populate parameters with new values and open again 
// Populate the parameters and open it 
ADOQuery1.Parameters.ParamByName('LastName').Value := 'Smith'; 
ADOQuery1.Parameters.ParamByName('FirstName').Value := 'Sam'; 
ADOQuery1.Open; 
// Use new query results 

ADOQuery1.Close; 
+0

बहुत बहुत धन्यवाद जो मदद करता है। एक ऐसी साइट पर बढ़िया है जहां आप जल्दी से जवाब प्राप्त कर सकें। – 4DaMouf

+1

इसे 'चयन * से' का उपयोग करना एक अच्छा विचार नहीं माना जाता है, खासकर जब शुरुआत करने वाले को कोड दिखाते हैं। सटीक फ़ील्ड नामों को निर्धारित करना हमेशा बेहतर होता है। –

+3

@ नोएम न्यूमैन: सवाल यह नहीं पूछा गया कि एसक्यूएल कैसे लिखना है। इसने डेल्फी में पैरामीटर का उपयोग करने के लिए कहा, जो मैंने जवाब दिया। यदि प्रश्न ने स्कीमा के बारे में जानकारी प्रदान की थी, तो वे कुछ अलग इस्तेमाल करते थे। मैंने या तो एक असली tablen ame का उपयोग नहीं किया था। हालांकि, आपकी प्रतिक्रिया के लिए धन्यवाद। :-) –

संबंधित मुद्दे