OdbcCommand.CommandText Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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, zaman damgası, saat 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
SQL LIKE deyimi kaçış karakteri
Dış bağlantılar
Prosedür ç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. Ardından tüm kaçış dizilerini veri kaynağına özgü dil bilgisi ile değiştirir.
Yordam, veri kaynağında depolanan yürütülebilir bir nesnedir. Genellikle, önceden derlenmiş bir veya daha fazla SQL deyimidir. Bir prosedürü çağırmak için kaçış dizisi şudur:
{[?=]call procedure-name[([parameter][,[parameter]]...)]}
burada procedure-name bir yordamın adını ve parameter bir yordam parametresini 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ı, parametreleri bir SQL deyimine geçirmek için adlandırılmış parametreleri veya when CommandType olarak ayarlandığında Texttarafından çağrılan saklı OdbcCommand yordamı desteklemez. Bu durumda soru işareti (?) yer tutucusu kullanılmalıdır. Örneğin:
SELECT * FROM Customers WHERE CustomerID = ?
Bu nedenle, nesnelerin öğesine eklenme OdbcParameterCollection 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ı yine de bu parametreyi bağlar, 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şlevi desteklemiyorsa, parametresi için bir değer geçirmeyin. Örneğin, kullanın OdbcParameterCollection:
{1, 2}
ve özelliğini şu şekilde ayarlayın CommandText :
{call sp(?, null, ?)}
Uyarı
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 parametresinin 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.