如何通过Web服务从xamarin与SQL Server交互?

时间:2016-09-15 14:02:55

标签: sql asp.net web-services sql-server-2008 xamarin.android

我想通过Web服务将Xamarin应用程序中的数据存储到SQL Server。我尝试通过Web服务将Xamarin Android与SQL Server连接但失败了。

网络:

SqlConnection conn = new SqlConnection(@"Data Source=my-PC\SQLEXPRESS;Initial Catalog=remotedb;Integrated Security=True");
SqlCommand com;

public Service1 () {

[WebMethod]
public string insert(string name)
{
    com = new SqlCommand("insert into dinesh values('" + name + "')", conn);
    conn.Open();
    com.ExecuteNonQuery();
    conn.Close();
    return "Hello World";
}

机器人:

public class Activity1 : Activity
{
    localhost.Service1 suresh = new localhost.Service1();
    string dinesh;

    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

        // Set our view from the "main" layout resource
        SetContentView(Resource.Layout.Main);

        // Get our button from the layout resource,
        // and attach an event to it
        Button button = FindViewById<Button>(Resource.Id.MyButton);

        EditText e1 = FindViewById<EditText>(Resource.Id.editText1);

        button.Click += delegate {
            dinesh = suresh.insert(e1.Text);
        };
    }
}

我需要改变什么或其他什么吗?

1 个答案:

答案 0 :(得分:1)

“我需要改变什么。”

是的,几乎所有事情。

好的,让我们从头开始吧。 如果您编写了一个想要与Web服务对话的iPhone应用程序,则需要能够联系该URL。

尝试在iPhone上打开Safari并连接到http://localhost/Service1.svc(或存储服务的URL)。啊。它无法找到此网址。

您需要将Web服务放在某个地方的云端,这样您的iPhone才能连接到它们。就个人而言,我保持生活简单,并将我的Web服务部署到Azure。

但是,您的Web服务需要能够与您的SQL Server数据库通信...而且,您在云中的Web服务将无法找到名为“PC \ SQLEXPRESS”的服务器。因此,您还必须将数据库移动到云中,并将Web服务的ConnectionString更改为指向它。

好的,一旦完成了所有这些操作,您就应该拥有Safari可以与之交谈的Web服务的URL。

从那里,你可以进入Xcode,并开始编写代码与服务进行交流。

有很多体面的教程可以解释所有这些,例如my C# / Xcode tutorial,它会逐步引导您完成所有这些。