Aracılığıyla paylaş


SQLDescribeParam

Herhangi bir SQL deyim parametrelerinin tanımlamak için SQL Server Yerel istemci ODBC sürücüsü oluşturur ve yürüten bir Transact-SQL deyim, SQLDescribeParam hazırlıklı bir ODBC deyim tanıtıcı olarak adlandırılır. küme FMTONLY sürücüyü kullanan deyim sorguyu yürütürken.Meta veriler sonucun küme hazırlıklı deyimindeki parametrelerin özelliklerini belirler.

Bu ODBC SQL deyim göz önünde bulundurun:

INSERT INTO Shippers (ShipperID, CompanyName, Phone) VALUES (?, ?, ?)

Yapılan bir çağrı SQLDescribeParam, bu ODBC SQL deyim aşağıdaki yürütmek sürücünün neden olur. Transact-SQL ifadeler:

SET FMTONLY ON
SELECT ShipperID, CompanyName, Phone FROM Shippers
SET FMTONLY OFF

SQLDescribeParam Bu nedenle, herhangi bir hata kodu, döndürebilir SQLExecute veya SQLExecDirect döndürebilir.

Ayrıca, sürücü arama desteklemiyor SQLDescribeParam Aşağıdaki durumlarda:

  • Sonra SQLExecDirect için Transact-SQL UPDATE veya FROM yan tümce içeren ifadeleri DELETE.

  • Herhangi bir ODBC için veya Transact-SQL deyim bir HAVING yan tümcesinde parametre içeren veya bir SUM işlevinin sonucu karşılaştırma.

  • Herhangi bir ODBC için veya Transact-SQL Rapor parametrelerini içeren bir alt sorgu bağlı.

  • Parametre imleyicileri, karşılaştırma, her iki ifade de gibi içeren veya yüklemi quantified ODBC SQL deyimleri için.

  • Bir işlev için parametre olduğu parametrelerden biri için sorgular.

  • Yorum olduğunda (/ * * /), Transact-SQL Command.

Toplu işleme sırasında Transact-SQL ifadeleri, sürücüyü ayrıca arama desteklemez SQLDescribeParam ifadeleri sonra ilk deyim, bir toplu iş parametresi işaretçileri için.

When describing the parameters of prepared stored procedures, SQLDescribeParam uses the system stored procedure sp_sproc_columns to retrieve parameter characteristics.sp_sproc_columns can report data for stored procedures within the current user database.Bir tam olarak nitelenmiş bir saklı yordam adı hazırlama sağlar. SQLDescribeParam veritabanları üzerinde çalıştırmak için . Örneğin, sistem saklı yordamı sp_who hazır ve olması herhangi bir veritabanı yürütülürler:

SQLPrepare(hstmt, "{call sp_who(?)}", SQL_NTS);

Yürütme SQLDescribeParam sonra herhangi bir veritabanına bağlandığınızda, bir boş satır kümesi başarılı hazırlık verir, ancak master. Aynı aramayı aşağıdaki gibi hazırlıklı neden olur. SQLDescribeParam Geçerli kullanıcı veritabanı bakılmaksızın başarılı olması için :

SQLPrepare(hstmt, "{call master..sp_who(?)}", SQL_NTS);

Büyük bir değer veri türleri için de değer döndürdü. DataTypePtr SQL_VARCHAR, SQL_VARBINARY veya SQL_NVARCHAR olabilir. Büyük bir değer veri türü parametresinin boyutu "sınırsız" olduğunu belirtmek için SQL Server Yerel istemci ODBC sürücü kümesi ParameterSizePtr 0. Gerçek boyut değerleri için standart döndürülür varchar Parametreler.

Not

Parametre zaten SQL_VARCHAR, SQL_VARBINARY veya SQL_WVARCHAR parametreler için en büyük boyutu ile ilişkili, parametre ilişkili boyutunu döndürülen değil "sınırsız." olur

"Sınırsız" büyüklükte bir girdi parametresini bağlamak için , yürütme sırasında veri kullanılmalıdır."Sınırsız" boyutu, (yöntem yoktur bir çıktı parametresi, akış verileri için benzer bir çıktı parametresini bağlanmak mümkün değil SQLGetData sonuç kümeleri için yapar).

Çıkış parametreleri, bir arabellek bağlanmalıdır değeri arabellek doldurulmuş SQL_SUCCESS_WITH_INFO ise çok büyük ileti ve birlikte döndürülür "dizesi veri; sağdan kesilme" uyarı.Veri kesildi sonra atılır.

SQLDescribeParam ve tablo biçiminde parametreleri

Bir uygulama için hazırlanmış deyim ile parametre tablo değerli bilgi alabilirsiniz SQLDescribeParam. Daha fazla bilgi için bkz:Prepared deyimleri için parametre meta veriler tablo biçiminde.

Genel olarak, tablo değerli parametreleri hakkında daha fazla bilgi için bakın Tablo biçiminde Parametreler (ODBC).

SQLDescribeParam desteği Gelişmiş tarih ve saat özellikleri

Tarih/saat türleri için döndürülen değerler aşağıdaki gibidir:

DataTypePtr

ParameterSizePtr

DecimalDigitsPtr

datetime

sql_type_timestamp

23

3

smalldatetime

sql_type_timestamp

16

0

tarih

sql_type_date

10

0

saat

SQL_SS_TİME2

8, 10..16

0..7

datetime2

sql_type_timestamp

19, 21..27

0..7

datetimeoffset

sql_ss_timestampoffset

26, 28..34

0..7

Daha fazla bilgi için bkz:Geliştirmeler'nı (ODBC) tarih/saat.

Büyük bir CLR UDTs SQLDescribeParam desteği

SQLDescribeParam büyük CLR kullanıcı tanımlı türler (UDTs) destekler.Daha fazla bilgi için bkz:Büyük CLR kullanıcı tanımlı türler (ODBC).

See Also

Concepts

Other Resources