2016-01-07 61 views
1

有没有办法使用Xamarin和ASP.NET C#连接android到SQL服务器? 我已经看到了连接到SQLite而不是SQL服务器的方式。 如果这不可能,那么是否有一种方法可以将android应用程序中的数据从SQLite同步到SQL服务器?连接Android应用程序到SQL服务器

任何帮助将不胜感激。

回答

1

可以使用的SqlConnection: https://developer.xamarin.com/api/type/System.Data.SqlClient.SqlConnection/

using (SqlConnection connection = new SqlConnection(connectionString)) 
    { 
     connection.Open(); 
     // Do work here; connection closed on following line. 
    } 

编辑: 这是我在图书馆的一个发现,我修改了它一点点的方法。首先,您需要创建一个连接字符串,以便Xamarin知道要连接的位置。之后,我们使用SqlCommand创建一个SQL命令,然后执行它。

public void Execute() 
{ 
    SqlConnectionStringBuilder dbConString = new SqlConnectionStringBuilder(); 
    dbConString.UserID = "My Username"; 
    dbConString.Password = "My Password"; 
    dbConString.DataSource = "My Server Address"; 

    using (SqlConnection con = new SqlConnection(returnConnectionString().ConnectionString)) 
    { 
     con.Open(); 
     for (int i = 0; i < commands.Count; i++) 
     { 
      SqlCommand cmd = new SqlCommand("UPDATE MyTable SET Name = 'New Name' WHERE ID = 1"); 
      cmd.Connection = con; 
      cmd.ExecuteNonQuery(); 
     } 
    } 

的ExecuteNonQuery()返回了多少行的影响,因而它的usuall当用于更新 - 和INSERT语句(即不是SELECT语句)。更多信息: https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery(v=vs.110).aspx }

如果你要使用SELECT语句的代码返回结果为一个DataSet:

public DataSet Execute(Statement stat) 
{ 
     DataSet ds = new DataSet(); 

     SqlConnectionStringBuilder dbConString = new SqlConnectionStringBuilder(); 
     dbConString.UserID = "My Username"; 
     dbConString.Password = "My Password"; 
     dbConString.DataSource = "My Server Address"; 

     using (SqlConnection con = new SqlConnection(dbConString.ConnectionString)) 
     { 
      con.Open(); 
      SqlCommand cmd = new SqlCommand("SELECT * FROM MyTable", con); 

      var adapter = new SqlDataAdapter(cmd); 
      adapter.Fill(ds); 

     } 
     return ds; 
} 
+0

感谢您的链接,但如果有一个例子是真的很有帮助。 –

+0

查看编辑答案。我希望它能帮助你! – Jefecito

+0

谢谢你真的很有帮助: - ) –

相关问题