2016-09-15 7 views
1

Webサービスを介してXamarinアプリケーションからSQL Serverにデータを保存します。私はXamarin AndroidをWebサービス経由でSQL Serverに接続しようとしましたが失敗しました。Webサービスを通じてxamarinから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

"変更が必要なことはありますか?"

はい、ほぼすべてです。

さて、最初から始めましょう。 Webサービスと通信したいiPhoneアプリを作成した場合は、そのURLに連絡できる必要があります。

iPhoneでSafariを開いて、http://localhost/Service1.svc(またはサービスが保存されているURLのどこにでも)に接続してみてください。ああこのURLは見つかりません。

あなたのiPhoneがクラウドに接続できるように、クラウドのどこかにあなたのWebサービスが必要です。個人的に、私は人生を楽にし、WebサービスをAzureに配備します。

しかし、あなたのWebサービスはSQL Serverデータベースと対話できる必要があります。また、クラウド内のWebサービスは "PC \ SQLEXPRESS"というサーバーを見つけることができません。 。したがって、データベースをクラウドに移動して、WebサービスのConnectionStringを変更して、それを指すようにする必要があります。

これですべてを済ませたら、Safariが話すことができるあなたのWebサービスへのURLがあるはずです。

そこから、Xcodeに入り、コードを書いてサービスと話すことができます。

このすべてのことを説明する適切なチュートリアルの負荷があります(例:my C#/Xcode tutorialなど)。

+0

ありがとうございました。私は試しており、その後にお知らせします。 :D –

関連する問題