Dengan Windows 10 Fall Creators Update (build 16299), aplikasi UWP sekarang dapat mengakses SQL Server secara langsung melalui kelas NET standar (System.Data.SqlClient) - berkat dukungan yang baru ditambahkan untuk .NET Standard 2.0 di UWP.
Berikut ini adalah aplikasi demo Northwind UWP:https://github.com/StefanWickDev/IgniteDemos
Kami telah mempresentasikan demo ini di Microsoft Ignite pada bulan September 2017, berikut adalah rekaman sesi kami (lewati ke 23:00 untuk demo SQL):https://myignite.microsoft.com/sessions/53541
Berikut adalah kode untuk mengambil produk dari database Northwind (lihat DataHelper.cs dalam demo). Perhatikan bahwa ini adalah kode yang sama persis dengan yang akan Anda tulis untuk aplikasi Winforms atau WPF - berkat .NET Standard 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;
}
Jika Anda perlu mendukung versi yang lebih lama dari Fall Creators Update, ada juga cara bagi Anda untuk memanggil SqlClient API dari paket aplikasi UWP Anda, melalui Desktop Bridge. Saya memiliki contoh untuk ini yang diterbitkan di sini:https://github.com/Microsoft/DesktopBridgeToUWP-Samples/tree/master/Samples/SQLServer