Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir SQL deyimindeki her parametre, deyimi yürütülmeden önce uygulamadaki bir değişkenle ilişkilendirilmelidir veya bağlanmalıdır . Uygulama bir değişkeni bir parametreye bağladığında, bu değişkeni (adres, C veri türü vb.) sürücüye açıklar. Ayrıca parametrenin kendisini de açıklar: SQL veri türü, duyarlık vb. Sürücü bu bilgileri bu deyim için koruduğu yapıda depolar ve deyimi yürütülürken değişkenden değeri almak için bu bilgileri kullanır.
Parametreler, bir ifade yürütülmeden önce herhangi bir zamanda bağlanabilir veya yeniden bağlanabilir. Bir deyim yürütüldükten sonra bir parametre rebound ise, deyimi yeniden yürütülene kadar bağlama uygulanmaz. Bir parametreyi farklı bir değişkene bağlamak için, uygulama parametreyi yeni değişkenle yeniden bağlar; önceki bağlama otomatik olarak serbest bırakılır.
Bir değişken, farklı bir değişken parametreye bağlanana kadar, SQL_RESET_PARAMS seçeneğiyle SQLFreeStmt çağrılıncaya kadar veya deyimi serbest bırakılana kadar parametreye bağlı kalır. Bu nedenle uygulama, değişkenlerin ilişkisiz hale gelene kadar serbest bırakıldıklarından emin olmalıdır. Daha fazla bilgi için bkz. Arabellek ayırma ve boşaltma.
Parametre bağlamaları, yalnızca sürücü tarafından ifade için tutulan yapıda saklanan bilgiler olduğundan, herhangi bir sırada ayarlanabilir. Ayrıca yürütülen SQL deyiminden de bağımsızdırlar. Örneğin, bir uygulamanın üç parametre bağladığını ve ardından aşağıdaki SQL deyimini yürüttüğüni varsayalım:
INSERT INTO Parts (PartID, Description, Price) VALUES (?, ?, ?)
Eğer uygulama SQL deyimini hemen yürütürse
SELECT * FROM Orders WHERE OrderID = ?, OpenDate = ?, Status = ?
aynı deyim tanıtıcısında , INSERT deyiminin parametre bağlamaları kullanılır çünkü bunlar deyim yapısında depolanan bağlamalardır. Çoğu durumda, bu kötü bir programlama uygulamasıdır ve kaçınılmalıdır. Bunun yerine, uygulamanın tüm eski parametrelerin bağlamasını kaldırıp yenilerini bağlamak için sqlfreeStmt'yi SQL_RESET_PARAMS seçeneğiyle çağırması gerekir.
Bu bölüm aşağıdaki konuları içerir.