Bạn không thể truy cập trực tiếp máy chủ sql từ dự án pcl của mình trong Xamarin.Forms vì System.Data.SqlClient
không có sẵn trên pcl.
Nhưng bạn có thể làm điều đó thông qua dịch vụ phụ thuộc .
Đầu tiên trong dự án PCL của bạn khai báo dịch vụ của bạn
public interface IDbDataFetcher
{
string GetData(string conn);
}
Sau đó, trên dự án Android của bạn, hãy triển khai giao diện dịch vụ
[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;
}
}
}
Mặc dù nó là một giải pháp nhưng nó là một tệ hại một. Luôn sử dụng các dịch vụ web cho các ứng dụng di động của bạn