Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Bu örnek, SQL veya XPath sorgularından oluşan şablon dosyalarının CommandText özelliği kullanılarak nasıl belirlenebileceğini göstermektedir. SQL veya XPath sorgusunu CommandText değeri olarak belirtmek yerine, değer olarak bir dosya adı belirtebilirsiniz. Aşağıdaki örnekte, CommandType özelliği SqlXmlCommandType.TemplateFile olarak belirtilmiştir.
Örnek uygulama şu şablonu çalıştırır:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query>
SELECT TOP 2 ContactID, FirstName, LastName
FROM Person.Contact
FOR XML AUTO
</sql:query>
</ROOT>
Bu C# örnek uygulamasıdır. Uygulamayı test etmek için şablonu (TemplateFile.xml) kaydedin ve ardından uygulamayı çalıştırın.
Uyarı
Kodda, bağlantı dizisinde Microsoft SQL Server örneğinin adını belirtmeniz gerekir.
using System;
using Microsoft.Data.SqlXml;
using System.IO;
class Test
{
static string ConnString = "Provider=SQLOLEDB;Server=(local);database=AdventureWorks;Integrated Security=SSPI";
public static int testParams()
{
//Stream strm;
SqlXmlCommand cmd = new SqlXmlCommand(ConnString);
cmd.CommandType = SqlXmlCommandType.TemplateFile;
cmd.CommandText = "TemplateFile.xml";
using (Stream strm = cmd.ExecuteStream()){
using (StreamReader sr = new StreamReader(strm)){
Console.WriteLine(sr.ReadToEnd());
}
}
return 0;
}
public static int Main(String[] args)
{
testParams();
return 0;
}
}
Uygulamayı test etmek için
Microsoft .NET Framework'ün bilgisayarınızda yüklendiğinden emin olun.
Bu örnekte sunulan XML şablonunu (TemplateFile.xml) bir klasörde kaydedin.
Bu örnekte verilen C# kodunu (DocSample.cs) şemanın saklandığı klasöre kaydedin. (Dosyaları farklı bir klasörde saklarsanız, kodu düzenlemeniz ve eşleme şeması için uygun dizin yolunu belirtmeniz gerekir.)
Kodu derleyin. Kodu komut isteğinde derlemek için şunları kullanın:
csc /reference:Microsoft.Data.SqlXML.dll DocSample.csBu, bir yürütülebilir (DocSample.exe) oluşturur.
Komut dizisinde, DocSample.exeçalıştırın.
Bir parametreyi bir şablona aktarırsanız, parametre adı işaret (@) ile başlamalıdır; örneğin, p.Name="@ContactID", burada p bir SqlXmlParameter nesnesidir.
Bu, bir parametre alan güncellenmiş şablondur.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:header>
<sql:param name='ContactID'>1</sql:param>
</sql:header>
<sql:query>
SELECT ContactID, FirstName, LastName
FROM Person.Contact
WHERE ContactID=@ContactID
FOR XML AUTO
</sql:query>
</ROOT>
Bu, şablonun çalıştırılması için bir parametrenin iletildiği güncellenmiş koddur.
public static int testParams()
{
Stream strm;
SqlXmlParameter p;
SqlXmlCommand cmd = new SqlXmlCommand(ConnString);
cmd.CommandType = SqlXmlCommandType.TemplateFile;
cmd.CommandText = "TemplateFile.xml";
p = cmd.CreateParameter();
p.Name="@ContactID";
p.Value = "1";
strm = cmd.ExecuteStream();
StreamReader sw = new StreamReader(strm);
Console.WriteLine(sw.ReadToEnd());
return 0;
}