विंडोज 10 फॉल क्रिएटर्स अपडेट (बिल्ड 16299) के साथ यूडब्ल्यूपी ऐप्स अब सीधे मानक नेट क्लासेस (System.Data.SqlClient) के माध्यम से एसक्यूएल सर्वर तक पहुंच सकते हैं - यूडब्ल्यूपी में .NET मानक 2.0 के लिए नए जोड़े गए समर्थन के लिए धन्यवाद।
यहाँ एक नॉर्थविंड UWP डेमो ऐप है:https://github.com/StefanWickDev/IgniteDemos
हमने सितंबर 2017 में माइक्रोसॉफ्ट इग्नाइट पर यह डेमो प्रस्तुत किया है, यहां हमारे सत्र की रिकॉर्डिंग है (एसक्यूएल डेमो के लिए 23:00 पर जाएं):https://myignite.microsoft.com/sessions/53541
नॉर्थविंड डेटाबेस से उत्पादों को पुनः प्राप्त करने के लिए कोड यहां दिया गया है (डेमो में DataHelper.cs देखें)। ध्यान दें कि यह ठीक वही कोड है जिसे आप Winforms या wpf ऐप के लिए लिखेंगे - .NET मानक 2.0 के लिए धन्यवाद:
public static ProductList GetProducts(string connectionString)
{
const string GetProductsQuery = "select ProductID, ProductName, QuantityPerUnit," +
" UnitPrice, UnitsInStock, Products.CategoryID " +
" from Products inner join Categories on Products.CategoryID = Categories.CategoryID " +
" where Discontinued = 0";
var products = new ProductList();
try
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
if (conn.State == System.Data.ConnectionState.Open)
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = GetProductsQuery;
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
var product = new Product();
product.ProductID = reader.GetInt32(0);
product.ProductName = reader.GetString(1);
product.QuantityPerUnit = reader.GetString(2);
product.UnitPrice = reader.GetDecimal(3);
product.UnitsInStock = reader.GetInt16(4);
product.CategoryId = reader.GetInt32(5);
products.Add(product);
}
}
}
}
}
return products;
}
catch (Exception eSql)
{
Debug.WriteLine("Exception: " + eSql.Message);
}
return null;
}
यदि आपको फ़ॉल क्रिएटर्स अपडेट की तुलना में पुराने संस्करणों का समर्थन करने की आवश्यकता है, तो आपके लिए डेस्कटॉप ब्रिज के माध्यम से अपने UWP ऐप पैकेज से SqlClient API को कॉल करने का एक तरीका भी है। इसके लिए मेरे पास यहां प्रकाशित एक नमूना है:https://github.com/Microsoft/DesktopBridgeToUWP-Samples/tree/master/Samples/SQLServer