Makale numarası: 174223 - Son Gözden Geçirme: 01 Temmuz 2004 Perşembe - Gözden geçirme: 1.1

Nasıl yapılır: saklı bir yordam için ADO Parameters derlemesi Yenile

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Hepsini aç | Hepsini kapa

Özet

Bu makalede, bir saklı yordam kullanarak bir komut nesnesi için ADO Parameters derlemesini doldurmak için iki teknikler gösterilmiştir.

Daha fazla bilgi

Giriş, çıkış ve dönüş parametreleri kullanan Bu saklı yordam, göz önünde bulundurun:
create proc sp_AdoTest( @InParam int, @OutParam int OUTPUT )
as
SELECT @OutParam = @InParam + 10
SELECT * FROM Authors
WHERE State <> 'CA'
RETURN @OutParam +10
				
The ADO Parameters derlemesine bir nesneyi her parametre için gereken ve daha da önemlisi, her bir parametrenin yönü özelliği, arama sözdizimi, Parametreler sırasını eşleşmesi gerekir.

Aşağıdaki kod, saklı yordam çağrısına kurma ve açıkça parametresi, nesne özellikleri oluşturma gösterir:
...
Set Cmd1 = New ADODB.Command
Cmd1.ActiveConnection = Conn1
Cmd1.CommandText= "sp_AdoTest"

Set Param1 = Cmd1.CreateParameter(, adInteger, adParamReturnValue)
Cmd1.Parameters.Append Param1

Set Param2 = Cmd1.CreateParameter(, adInteger, adParamInput)
Param2.Value = 10
Cmd1.Parameters.Append Param2

Set Param3 = Cmd1.CreateParameter(, adInteger, adParamOutput)
Cmd1.Parameters.Append Param3

Set Rs1 = Cmd1.Execute()
				
Not: saklı yordam sipariş veya parametreleri yönünü değiştirir, bu kod değiştirilecek sahipse, bu tehlikeli tekniğidir. Aynı sonuçları alır, bir çok küçük alternatif, yok. Yalnızca CommandText için saklı yordamın adını listeleyen ve Parameters derlemesini yenilemek tarafından ADO, Parameters derlemesine, saklı yordam tarafından gereken her parametre için bir otomatik olarak doldurur. Ancak, bu yöntemin olası tek olumsuz yanı, ilgili ek yükü vardır. Parametre bilgilerini almak için sunucuya bir yuvarlak gezi gerektiriyor mu ve böylece daha, parametreleri kendi kendinize oluşturma, isabet daha yüksek bir performans yoktur. Bu yordam için doğru parametreleri özelliklerini belirlemek için iyi bir yolu olacaktır. Yukarıda gösterildiği gibi kod parametrelerini ayarlamak için döndürülen bilgileri kullanın. Bu aşağıdaki gösterilmektedir:
Cmd1.ActiveConnection = Conn1
Cmd1.CommandText = "sp_AdoTest"
Cmd1.CommandType = adCmdStoredProc
Cmd1.Parameters.Refresh
Cmd1.Parameters(1).Value = 10

Set Rs1 = Cmd1.Execute()
				
bu tam olarak aynı satır kümesi oluşturur, ancak (Bu kod doğru ikinci parametre için bir girdi parametresini olduğunu belirleyen olsa da) otomatik olarak ve doğru parametreleri tahsilat doldurmak için ADO sağlar.

Not: Parameters.Refresh, bazı durumlarda başarısız veya tamamen doğru olmayan bilgileri döndürür. ASP sayfalarında kullanıldığında Parameters.Refresh özellikle savunmasızdır. Sorguda Parameter.refresh ile ilişkili sorunlar hakkında konuşun diğer makaleleri bulmak için "parameters.refresh" Lütfen.

Referanslar

% 1 Ek bilgi için Microsoft Knowledge Base'deki makaleyi % 2'ni görüntülemek üzere aşağıdaki makale numarasını tıklatın % 2'yi tıklatın:
225897  (http://support.microsoft.com/kb/225897/EN-US/ ) Nasıl ACC2000: Parametreler ActiveX Data Objects (ADO) kullanılır ve Jet

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ActiveX Data Objects 1.0
  • Microsoft ActiveX Data Objects 1.5
  • Microsoft ActiveX Data Objects 2.0
  • Microsoft ActiveX Data Objects 2.1 Service Pack 2
  • Microsoft ActiveX Data Objects 2.5
  • Microsoft ActiveX Data Objects 2.6
  • Microsoft ActiveX Data Objects 2.7
Anahtar Kelimeler: 
kbmt kbdatabase kbhowto KB174223 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:174223  (http://support.microsoft.com/kb/174223/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.