System.Data.SqlClient
のため、Xamarin.FormsのpclプロジェクトからSQLサーバーに直接アクセスすることはできません。 pclでは利用できません。
ただし、依存関係サービスを介してそれを行うことができます 。
最初にPCLプロジェクトでサービスを宣言します
public interface IDbDataFetcher
{
string GetData(string conn);
}
次に、Androidプロジェクトでサービスインターフェースを実装します
[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;
}
}
}
それは解決策ですが、悪い 1。モバイルアプリのWebサービスを常に利用する