Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Direkter Zugriff auf eine SQL Server-Datenbank in Xamarin.Forms

Sie können von Ihrem PCL-Projekt in Xamarin.Forms nicht direkt auf einen SQL-Server zugreifen, da System.Data.SqlClient ist nicht auf pcl verfügbar.

Sie können dies jedoch über einen Abhängigkeitsdienst tun .

Erklären Sie zuerst in Ihrem PCL-Projekt Ihren Dienst

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

Implementieren Sie dann in Ihrem Android-Projekt die Serviceschnittstelle

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

Obwohl es eine Lösung ist, ist es eine schlechte ein. Verwenden Sie immer Webdienste für Ihre mobilen Apps