2016-09-15 2 views
1

Ich möchte Daten von Xamarin-Anwendung über einen Webdienst an SQL Server speichern. Ich habe versucht, Xamarin Android mit SQL Server über Web-Service zu verbinden, aber fehlgeschlagen.Wie mit SQL Server von Xamarin über Web-Service interagieren?

Web:

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"; 
} 

Android:

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); 
     }; 
    } 
} 

Gibt es etwas, muss ich sonst ändern oder etwas?

Antwort

1

"Gibt es etwas, das ich ändern muss?"

Ja, fast alles.

Okay, fangen wir am Anfang an. Wenn Sie eine iPhone-App geschrieben haben, die mit Webdiensten kommunizieren möchte, muss sie diese URL kontaktieren können.

Versuchen Sie Safari auf Ihrem iPhone zu öffnen und verbinden Sie sich mit http://localhost/Service1.svc (oder wo URL Ihre Dienste gespeichert sind). Ah. Es kann diese URL nicht finden.

Sie müssen Ihre Webdienste irgendwo in der Cloud haben, damit Ihr iPhone eine Verbindung zu ihnen herstellen kann. Persönlich halte ich das Leben einfach und stelle meine Webdienste auf Azure um.

Aber dann müssen Ihre Webdienste in der Lage sein, mit Ihrer SQL Server-Datenbank zu sprechen ... und wieder werden Ihre Webdienste in der Cloud keinen Server namens "PC \ SQLEXPRESS" finden können . Daher müssen Sie auch Ihre Datenbank in die Cloud verschieben und den ConnectionString des Webdienstes ändern, um auf ihn zu zeigen.

Okay, sobald Sie all das getan haben, sollten Sie eine URL zu Ihren Webdiensten haben, mit denen Safari sprechen kann.

Von dort können Sie in Xcode gehen und Code schreiben, um mit den Diensten zu sprechen.

Es gibt eine Menge anständige Tutorials, die all dies erklären, wie zum Beispiel my C#/Xcode tutorial, die Sie Schritt für Schritt durch all dies führt.

+0

Danke Mann, ich versuche und werde Sie danach wissen lassen. : D –

Verwandte Themen