2013-08-16 11 views
5

Windows Phone 8の開発に熟練していないので、は、Windows Phone 8をSQL Serverデータベースに接続する最も良い方法について議論したい/質問したいと思います。私はインターネットを介して検索しようとし、Linq-to-Sqlを使用してWebServiceを使用していくつかのガイドのみを見つけました。私が失敗したのはThisです。Windows Phone 8をSqlサーバーに接続する

まず、データを表示したいと思います。これが最も重要ですが、まだ編集する必要はありません。しかし、将来的には不可避です。

編集がうまくいく場合は、私が接続しているSql Serverで直接編集する必要があります。私もSql Server Compactガイドをチェックしましたが、CE 4.0(SQL ServerからSql Compactにデータをエクスポートする場合)はWindows Phone 8をサポートしていません。しかし、それが動作しても、単にSql ServerデータベースをSql Compactにコピーし、Sql Server上で直接データを扱うことはできません(これはSql Server Compactであるため理解できます)。

だから私はそれを行うための唯一の方法は、Webサービスを使用している深く探していたとして、私はYouTubeにいくつかのステップバイステップのガイドに従ったが、私は前に述べたようにガイドがあるため、リストボックスを使用して私を導いたとして、問題はdisplaying dataとありましたそれはWindows Phone 7.1用であり、Windows Phone 8ではLongListSelectorのみです。

また、私には役に立たない質問Connect Windows Phone and Windows 8 apps to SQL Serverが見つかりました。

私はいくつかのステップバイステップガイドハウツーを必要と思う。だから、WP8とSQL Serverを接続するためのステップバイステップのガイドがあるかどうか尋ねたいと思いますか?誰かがそのようなものになり、私のコードhereを編集して動作させるとしたら。

ご回答ありがとうございました。

M.S.

+1

AFAIK、簡単な答えは、「電話機をSQLサーバに接続するためのフレームワークには何も組み込まれていません。あなたはWCF経由で行くことができ、LINQ-to-SQLはそれを助けることができますが、直接接続APIは役に立ちません。あなたはもちろん自分のTDSリーダー/ライターを書くことができます... –

+0

@MarcGravellコメントありがとう、私はそれが最善の方法だと思った。これはまた、SQL Server上のデータの更新/挿入/削除をサポートする必要がありますか?ここで自分のコードを見て自由な時間があるかどうか聞いてもらえますか? http://stackoverflow.com/questions/18254295/longlistselector-on-wp8-linq-to-sql-binding-issue私はWCF接続を作成しようとしましたが、LongListSelectorでデータを表示できませんでした。それほど感謝しています。ありがとうございました。 – Marek

答えて

6

さて、あなたの目標を達成するために、私はどうなる:

  1. は、オブジェクトを返しますASP.NETのWeb API(http://www.asp.net/web-api)でのREST Webサービスを構築します(これらのオブジェクトが自動的にJSONに変換されます)。たとえば、次のようにそれのための

    public class MyObject 
    { 
        public string Content { get; set; } 
    } 
    

    コントローラー:

    public class TestController : ApiController 
    { 
        [HttpGet] 
        public MyObject Example() { 
        return new MyObject() { Content = "Hello World!" }; 
        } 
    } 
    
  2. あなたの勝利の電話プロジェクトでHTTPクライアントを使用します。

    HttpClient client = new HttpClient(); 
    client.BaseAddress = new Uri("http://mywebservice.com"); 
    client.DefaultRequest.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
    
    using (var result = await client.GetStreamAsync("test/example")) 
    { 
        var serializer = new JsonSerializer(); // this is json.net serializer 
        using (var streamReader = new StreamReader(result)) { 
        using (var jsonReader = new JsonTextReader(streamReader)) 
        { 
         var obj = serializer.Deserialize<MyObject>(jsonReader); 
         // you can access obj.Content now to get the content which was created by the webservice 
         // in this example there will be "Hello World!" 
        } 
        } 
    } 
    

あなたははるかに複雑なオブジェクトを作成することができます確かにこれは(デ)シリアライズされます。 Web APIチュートリアルを見てください。

ウェブサービス内で、任意のデータベースにアクセスできるようになりました。

さらに詳しい回答が必要な場合は、私にコメントを残してください。

+0

あなたの答えをありがとう、遅く応答して申し訳ありませんが、これは私がここで達成しようとしていた何か他の方法です:http://stackoverflow.com/questions/18254295/longlistselector-on-wp8-linq-to-sql-binding私はすでに結婚していると思っていましたが、何も表示されませんでした。 – Marek

+1

@マレック私はあなたの他のポストを見ました。私は時間があれば、私はここに属さないので、他の質問に回答を掲示します。しかし、私はあなたがここにいた質問に答えるのを手伝ってくれることを願っています。 –

関連する問題