Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Accéder directement à une base de données Sql Server dans Xamarin.Forms

Vous ne pouvez pas accéder directement à un serveur sql à partir de votre projet pcl dans Xamarin.Forms car System.Data.SqlClient n'est pas disponible sur pcl.

Mais vous pouvez le faire via un service de dépendance .

Premier dans votre projet PCL, déclarez votre service

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

Ensuite, sur votre projet Android, implémentez l'interface de service

[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;
        }
    }
}

Bien que ce soit une solution, c'est un mauvais une. Consommez toujours des services Web pour vos applications mobiles