2013-06-04 95 views
6

używam Delphi 7 i Access 2007.Parametry w SQL - Delphi 7

Chcę wiedzieć, może ktoś mi pokazać jak używać parametrów z SQL i ADO.

Jakie jest niezbędne kodowanie i tak dalej. Przepraszam, jestem nowy w Delphi.

+0

+1 za pytanie, jak używać parametrów, a nie za pomocą konkatenacji ciągów (i ataków SQL injection)! –

Odpowiedz

9

Wystarczy ustawić zapytanie SQL, a następnie zapełnić parametry. Używaj oczywiście nazw parametrów, które mają dla ciebie sens; Właśnie użyłem LastName i FirstName dla przykładów. Po zmianie na pytanie zaktualizowałem, aby użyć TADOQuery zamiast tylko TQuery.

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

Wielkie dzięki, które pomaga. Wspaniale mieć stronę, na której możesz szybko uzyskać odpowiedzi. – 4DaMouf

+1

Uważa się, że nie jest dobrym pomysłem użycie opcji "wybierz * od", zwłaszcza gdy wyświetlasz kod początkującemu. Zawsze lepiej jest podać dokładne nazwy pól. –

+3

@ No'amNewman: Pytanie nie pytało, jak napisać SQL. Zapytał, jak używać parametrów w Delphi, na co odpowiedziałem. Gdyby pytanie dostarczyło informacji o schemacie, którego używają, użyłbym czegoś innego. Nie użyłem też prawdziwego tablena. Dziękuję za Twoją opinię. :-) –