Aracılığıyla paylaş


Parametre Bağlama Uzaklıkları

Bir uygulama, SQLExecDirect veya SQLExecute çağrıldığında ilişkili parametre arabellek adreslerine ve ilgili uzunluk/gösterge arabellek adreslerine uzaklık ekleneceğini belirtebilir. Bu eklemelerin sonucu, bu işlemlerde kullanılan adresleri belirler.

Bağlama uzaklıkları, bir uygulamanın daha önce bağlı parametreler için SQLBindParameter çağrılmadan bağlamaları değiştirmesine olanak sağlar. Bir parametreyi yeniden bağlamaya yönelik SQLBindParameter çağrısı, arabellek adresini ve uzunluk/gösterge işaretçisini değiştirir. Öte yandan, uzaklık ile yeniden bağlama, var olan ilişkili parametre arabellek adresine ve uzunluk/gösterge arabellek adresine bir uzaklık ekler. Ofsetler kullanıldığında, bağlar uygulama arabelleklerinin nasıl yerleştirildiğine dair bir "şablon" haline gelir ve uygulama, ofseti değiştirerek bu "şablonu" farklı bellek alanlarına taşıyabilir. İstediğiniz zaman yeni bir uzaklık belirtilebilir ve her zaman özgün olarak ilişkili değerlere eklenir.

Bağlama uzaklığını belirtmek için uygulama, SQL_ATTR_PARAM_BIND_OFFSET_PTR deyimi özniteliğini bir SQLINTEGER arabelleğinin adresine ayarlar. Uygulama, parametre arabellek adresi veya uzunluk/gösterge arabellek adresi 0 olmadığı ve ilişkili parametre SQL deyiminde yer aldığı sürece, bağlamaları kullanan bir işlevi çağırmadan önce bu arabelleğe bayt cinsinden bir ofset yerleştirir. Adresin toplamı ve uzaklık geçerli bir adres olmalıdır. (Bu, hem ofsetin hem de ofsetin eklendiği adresin, toplamları geçerli bir adres olduğu sürece geçersiz olabileceği anlamına gelir.)

Uyarı

Bağlama uzaklıkları ODBC 2 tarafından desteklenmez. x sürücüleri.