ASP Sayfasından SQL Server saklı yordam çalıştırma

Bu makalede, SQL Server saklı yordamların nasıl çalıştırılıp bir Active Server Pages (ASP) sayfasından parametrelerin nasıl kullanılacağı gösterilmektedir.

Özgün ürün sürümü: Internet Information Services
Özgün KB numarası: 300488

Özet

Bu makalede, BIR ASP sayfasında ActiveX Veri Nesnelerini (ADO) kullanma yordamı hakkında bilgi sahibi olduğunuz varsayılır.

Adım Adım Örnek

  1. Aşağıdaki sorguyu SQL Server Sorgu Çözümleyicisi'nde çalıştırın veya Pubs veritabanına karşı SQL Server Management Studio:

    CREATE proc MyProc
    (
        @price smallint,
        @out smallint OUTPUT
    )
    AS
    Select @out = count(*) from titles where price < @price
    GO
    

    Saklı yordam (MyProc) bir giriş parametresi (@price) alır ve bir çıkış parametresi (@out döndürür).

    Not

    Varsayılan olarak, Northwind örnek veritabanı ve pubs örnek veritabanları SQL Server 2005'te yüklenmez. Bu veritabanları Microsoft İndirme Merkezi'nden indirilebilir. Northwind örnek veritabanını ve pubs örnek veritabanını indirme hakkında daha fazla bilgi için şu Microsoft Web sitesini ziyaret edin: Northwind ve pubs Örnek Veritabanlarını İndirme

  2. Aşağıdaki ASP örnek kodu yeni oluşturulan saklı yordamı çağırır. Giriş parametresini ayarlamak ve sorguyu çalıştırmak için bu ASP kodunu kullanabilirsiniz.

    1. ADO'da CreateParameter aşağıdaki gibi parametreler oluşturmak için yöntemini kullanın:

      Set myParameter = Command.CreateParameter (Name, [Type], [Direction], [Size], [Value])
      
    2. Parametreyi Parameters koleksiyonuna aşağıdaki gibi eklenmiştir:

      Command.Parameters.Append myParameter
      

      Not

      Parameters koleksiyonundaki parametreler saklı yordamdaki parametrelerin sırasıyla eşleşmelidir.

    3. Saklı yordamda parametre değerlerini aşağıdaki gibi geçirmek için komutunu çalıştırın:

      <%
      Dim cmd
      Dim ln
      Dim retCount
      
      Set cmd = Server.CreateObject("ADODB.Command")
      
      With cmd
       .ActiveConnection = "Paste your connection string here"
       .Commandtext = "MyProc"
       .CommandType = adCmdStoredProc
       .Parameters.Append .CreateParameter("@price", adSmallInt, adParamInput, 10).Parameters("@price") = 22
       .Parameters.Append .CreateParameter("@retValue", adSmallInt, adParamOutput, 10).Execute ln, , adExecuteNoRecords
       retCount = .Parameters("@retValue")
      End with
      
      Response.Write retcount
      
      Set cmd = Nothing
      %>
      

      Not

      Bu örnekte kullanılan sabitler Adovbs.inc dosyasında bulunabilir. Bu dosya, Active Server Pages kurulumu sırasında yüklenir ve normalde klasörünüzde \Inetpub bulunan klasöre yerleştirilir\Aspsamp\Samples. Kodunuzun daha kolay okunması ve korunması için saklı yordamınızı çağırdığınızda sayısal değerler yerine sabitleri kullanmanız programlama uygulaması önerilir.

       <%@ LANGUAGE = VBScript %>
       <!-- #INCLUDE VIRTUAL="/ASPSAMP/SAMPLES/ADOVBS.INC" -->
      
  3. ADO bağlantı dizesi ortamınıza uygun şekilde değiştirin.

  4. ASP sayfasını kaydedin ve tarayıcıda görüntüleyin.

    Not

    Saklı yordamın parametre bilgilerini bilmiyorsanız saklı yordamı nasıl düzgün çağırabileceğinizi belirlemek zor olabilir. Doğru bilgiler olmadan, ADO parametrelerini düzgün bir şekilde oluşturamazsınız. Parameters koleksiyonunu, saklı yordamın sunucudaki tanımına göre otomatik olarak doldurmak için Parameter nesnesinin Refresh yöntemini kullanabilirsiniz. Örneğin:

    Command.Parameters.Refresh
    

Başvurular

Daha fazla bilgi için bkz. ADO.NET kullanarak basit bir veri uygulaması oluşturma.