Forguncyが提供するサーバーサイドAPI(以下、カスタムWebAPI)には、複数テーブルの複数レコードを一括で更新できる「modifyTablesDataメソッド」があります。ここでは、このメソッドを使用してブラウザから一回のPost送信で、2つのテーブルの複数レコードを一括で追加・編集・削除する方法を紹介します。
なお、カスタムWeb APIを作成するためには、一般的なプログラミング知識と共に.NET Framework 4.7.2をサポートするVisual Studioが必要です。
ページ末尾のサンプルプロジェクトを、参照してください。
サンプルプロジェクトでは、以下のことを行っています。
・ModifyTabelsDataDemo_ServersideWebAPI.fgcp
(1)リストビューを2つ配置しています。
(2)「追加・編集・削除」ボタンを配置し「JavaScriptコードの実行」コマンドでサーバーサイドAPIの「IDataAccess.ModifyTablesData メソッドで使用するModifyDataのデータを準備してPostしています。
(3)「リストビューのリロード」ボタンを配置し「JavaScriptコードの実行」コマンドでリストビューをリロードでしています。これによって、上記のボタンクリックによってデータベースが変更されていることを確認できます。
(4)Forguncyのメニュー「ファイル」−「オプション」のカスタムWebAPIから、DemoServerCode.zipで作成されるDLLを指定します。
・DemoServerCode.zip
カスタムWeb APIの作り方は、製品ヘルプの「カスタムWeb API」を参照してください。
このサンプルでは以下のクラスを定義しています。
namespace Demo { public class ModifyTablesDataDemo: ForguncyApi { [Post] public void ModifyTablesData() { StreamReader reader = new StreamReader(this.Context.Request.Body); string message = reader.ReadToEnd(); var infoList = JsonConvert.DeserializeObject<Dictionary<string, ModifyData>>(message); DataAccess.ModifyTablesData(infoList); } [Get] public void TestAPI() { this.Context.Response.ContentType = "text/html"; this.Context.Response.Write("Hello World!"); } } }
検索キーワード: fgchowto fgcdevelopment fgcdatabase