OdbcCommand.CommandText Özellik

Tanım

Veri kaynağında yürütülecek SQL deyimini veya saklı yordamı alır veya ayarlar.

public:
 virtual property System::String ^ CommandText { System::String ^ get(); void set(System::String ^ value); };
public:
 property System::String ^ CommandText { System::String ^ get(); void set(System::String ^ value); };
public override string CommandText { get; set; }
public string CommandText { get; set; }
member this.CommandText : string with get, set
Public Overrides Property CommandText As String
Public Property CommandText As String

Özellik Değeri

Yürütülecek SQL deyimi veya saklı yordam. Varsayılan değer boş bir dizedir ("").

Uygulamalar

Açıklamalar

CommandType özelliği olarak StoredProcedureCommandText ayarlandığında, özellik standart ODBC saklı yordam kaçış dizileri kullanılarak ayarlanmalıdır. CommandText saklı yordamın adına ayarlanması, diğer .NET Framework veri sağlayıcıları için olduğu gibi çalışmaz.

Dış birleşimler ve skaler işlev çağrıları gibi birçok dil özelliği genellikle veri kaynakları tarafından uygulanır. Bu özelliklerin söz dizimi bile genellikle veri kaynağına özgüdür. Bu nedenle ODBC, aşağıdaki dil özellikleri için standart söz dizimi içeren kaçış dizilerini tanımlar:

  • Tarih, saat, zaman damgası ve tarih saat aralığı değişmez değerleri

  • Sayısal, dize ve veri türü dönüştürme işlevleri gibi skaler işlevler

  • LIKE koşulu kaçış karakteri

  • Dış birleşimler

  • Yordam çağrıları

ODBC tarafından kullanılan kaçış dizisi aşağıdaki gibidir:

{extension}  

Bu kaçış dizisi ODBC sürücüleri tarafından tanınır ve ayrıştırılır. Daha sonra tüm kaçış dizilerini veri kaynağına özgü dil bilgisi ile değiştirirler.

Yordam, veri kaynağında depolanan yürütülebilir bir nesnedir. Genellikle, önceden derlenmiş bir veya daha fazla SQL deyimidir. Bir yordamı çağırmak için kaçış dizisi şudur:

{[?=]call procedure-name[([parameter][,[parameter]]...)]}  

burada procedure-name bir yordamın adını belirtir ve parameter bir yordam parametresi belirtir.

Komut, Execute yöntemlerinden birini (örneğin, ExecuteReader veya ExecuteNonQuery) çağırdığınızda bu saklı yordamı yürütür.

Geçerli bağlantı bir yürütme veya getirme işlemi gerçekleştiriyorsa , CommandType ve CommandText özelliklerini ayarlayamazsınızConnection.

ODBC.NET Sağlayıcısı, bir SQL deyimine parametre geçirmek için adlandırılmış parametreleri veya olarak CommandType ayarlandığında Texttarafından çağrılan saklı OdbcCommand yordamı desteklemez. Bu durumda soru işareti (?) yer tutucusu kullanılmalıdır. Örnek:

SELECT * FROM Customers WHERE CustomerID = ?  

Bu nedenle, nesnelerin öğesine OdbcParameterCollection eklenme sırası OdbcParameter doğrudan parametresi için soru işareti yer tutucusunun konumuna karşılık gelir.

Bir parametre null değer içeriyorsa, ODBC için .NET Framework Veri Sağlayıcısı bu parametreyi bağlamaya devam eder, ancak null değer yerine SQL_DEFAULT_PARAM kullanılarak tanımlanmışsa varsayılan parametreyi kullanır. Örneğin, :OdbcParameterCollection

{1, null, 2}  

özelliğine geçirildi CommandText :

{call sp(?, ?, ?)}  

odbc için .NET Framework Veri Sağlayıcısının ilk parametreyi 1 değerine, üçüncü parametreyi 2 değerine ve ikinci parametreyi SQL_DEFAULT_PARAM olarak bağlamasına neden olur. Ancak, bu davranış sürücüye bağlıdır. Sürücü bu işlevselliği desteklemiyorsa, parametre için bir değer geçirmeyin. Örneğin, kullanın OdbcParameterCollection:

{1, 2}  

ve özelliğini aşağıdakine ayarlayın CommandText :

{call sp(?, null, ?)}  

Not

Bir parametre atlanırsa, bunu diğer parametrelerden sınırlandıran virgül görünmeye devam etmelidir. Bir giriş veya giriş/çıkış parametresi atlanırsa, yordam parametrenin varsayılan değerini kullanır. Giriş veya giriş/çıkış parametresinin varsayılan değerini belirtmenin bir diğer yolu da parametreye bağlı uzunluk/gösterge arabelleğinin değerini SQL_DEFAULT_PARAM olarak ayarlamaktır.

Şunlara uygulanır

Ayrıca bkz.