sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan opretter du forbindelse til SQL-serverdatabase fra en Windows 10 UWP-app

Med Windows 10 Fall Creators Update (build 16299) kan UWP-apps nu få direkte adgang til SQL Server via standard NET-klasserne (System.Data.SqlClient) - takket være den nyligt tilføjede understøttelse af .NET Standard 2.0 i UWP.

Her er en Northwind UWP-demo-app:https://github.com/StefanWickDev/IgniteDemos

Vi har præsenteret denne demo på Microsoft Ignite i september 2017, her er optagelsen af ​​vores session (spring til 23:00 for SQL-demoen):https://myignite.microsoft.com/sessions/53541

Her er koden til at hente produkterne fra Northwind-databasen (se DataHelper.cs i demoen). Bemærk, at det er nøjagtig den samme kode, som du ville skrive til en Winforms- eller WPF-app - takket være .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;
}

Hvis du har brug for at understøtte tidligere versioner end Fall Creators Update, er der også en måde for dig at kalde SqlClient API'er fra din UWP app-pakke via Desktop Bridge. Jeg har et eksempel på dette offentliggjort her:https://github.com/Microsoft/DesktopBridgeToUWP-Samples/tree/master/Samples/SQLServer



  1. Batch Mode Bitmaps i SQL Server

  2. Laravel 5.2 - Brug en streng som en tilpasset primær nøgle til veltalende tabel bliver 0

  3. Sqlite3 indsætter ikke flere rækker i rækkefølge

  4. Brug af jsonb_set() til at opdatere specifik jsonb-arrayværdi