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 parametrenin değerini ayarlamak için uygulama, parametreye bağlı değişkenin değerini ayarlar. Bu değerin ayarlanmasının zamanı önemli değildir, yeter ki deyim yürütülmeden önce ayarlansın. Uygulama değişkeni bağlamadan önce veya sonra değeri ayarlayabilir ve değeri istediği kadar değiştirebilir. Deyimi yürütürken, sürücü yalnızca değişkenin geçerli değerini alır. Bu, özellikle hazırlanmış bir deyim birden çok kez yürütülürse yararlıdır; uygulama, deyimi her yürütürken değişkenlerin bazıları veya tümü için yeni değerler ayarlar. Bunun bir örneği için, bu bölümün önceki bölümlerinde yer alan Hazırlanmış Yürütme bölümüne bakın.
SQLBindParameter çağrısında bir uzunluk/gösterge arabelleği bağlıysa, ifade çalıştırılmadan önce aşağıdaki değerlerden birine ayarlanmalıdır:
Bağlı değişkendeki verilerin bayt uzunluğu. Sürücü bu uzunluğu yalnızca değişken karakter veya ikili ise denetler (ValueType SQL_C_CHAR veya SQL_C_BINARY).
SQL_NTS. Veriler null olarak sonlandırılan bir dizedir.
SQL_NULL_DATA. Veri değeri NULL'dir ve sürücü ilişkili değişkenin değerini yoksayar.
SQL_DATA_AT_EXEC veya SQL_LEN_DATA_AT_EXEC makrosunun sonucu. parametresinin değeri SQLPutData ile gönderilecektir. Daha fazla bilgi için bu bölümün devamında yer alan Uzun Veri Gönderme bölümüne bakın.
Aşağıdaki tabloda, bağlı değişkenin değerleri ve uygulamanın çeşitli parametre değerleri için ayar yaptığı uzunluk/gösterge arabelleği gösterilmektedir.
| Parametre value |
Parametre (SQL) veri tipi |
Değişken (C) veri tipi |
içindeki değer sınır variable |
içindeki değer uzunluk/gösterge buffer[d] |
|---|---|---|---|---|
| "ABC" | SQL_CHAR | SQL_C_CHAR | ABC\0[a] | SQL_NTS veya 3 |
| 10 | SQL_INTEGER | SQL_C_SLONG | 10 | -- |
| 10 | SQL_INTEGER | SQL_C_CHAR | 10\0[a] | SQL_NTS veya 2 |
| Saat 13:00 | SQL_TYPE_TIME | SQL_C_TYPE_TIME | 13,0,0[b] | -- |
| Saat 13:00 | SQL_TİP_ZAMAN | SQL_C_CHAR | {t '13:00:00'}\0[a], [c] | SQL_NTS veya 14 |
| null | SQL_SMALLINT | SQL_C_SSHORT | -- | SQL_NULL_DATA |
"\0" null sonlandırma karakterini temsil eder. Null sonlandırma karakteri yalnızca uzunluk/gösterge arabelleğindeki değer SQL_NTS olduğunda gereklidir.
[b] Bu listedeki sayılar, TIME_STRUCT yapısının alanlarında depolanan sayılardır.
[c] Metin ODBC tarih kaçış ibaresini kullanır. Daha fazla bilgi için bkz. Tarih, Saat ve Zaman Damgası Literalleri.
[d] Sürücülerin SQL_NULL_DATA gibi özel bir değer olup olmadığını görmek için her zaman bu değeri denetlemesi gerekir.
Bir sürücünün yürütme sırasında parametre değeriyle ne yaptığı sürücüye bağlıdır. Gerekirse, sürücü değeri C veri türünden ve bağlı değişkenin bayt uzunluğundan SQL veri türüne, hassasiyetine ve parametrenin ölçeğine dönüştürür. Çoğu durumda, sürücü değeri veri kaynağına gönderir. Bazı durumlarda, veri kaynağına deyimini göndermeden önce değeri metin olarak biçimlendirip SQL deyimine ekler.