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

Direkte adgang til en SQL Server-database i Xamarin.Forms

Du kan ikke få direkte adgang til en sql-server fra dit pcl-projekt i Xamarin.Forms, fordi System.Data.SqlClient er ikke tilgængelig på pcl.

Men du kan gøre det gennem en afhængighedstjeneste .

Først i dit PCL-projekt erklærer du service

public interface IDbDataFetcher
    {
        string GetData(string conn);
    }

Så implementerer du servicegrænsefladen på dit Android-projekt

[assembly: Dependency(typeof(DbFetcher))]
namespace App.Droid.Services
{
    class DbFetcher : IDbDataFetcher
    {

        public List<string> GetData(string conn)
        {
            using (SqlConnection connection = new SqlConnection(conn))
            {

                SqlCommand command = new SqlCommand("select * from smuser", connection);
                try
                {
                    connection.Open();
                    SqlDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        data.Add(reader[0].ToString());
                    }
                    reader.Close();
                }
                catch (Exception ex)
                {
                    //Console.WriteLine(ex.Message);
                }
            }
            return data;
        }
    }
}

Selvom det er en løsning, er det en dårlig en. Brug altid webtjenester til dine mobilapps




  1. En databasemodel for en MOOC-platform

  2. Ingen dialektkortlægning for JDBC-type:2003

  3. Sådan rettes "ALTER TABLE SWITCH statement failed" Msg 4982 (SQL Server)

  4. SQL Server:skal jeg bruge informationsskema-tabeller over sys-tabeller?