セールス: 1-800-867-1380

mssql オブジェクト

更新日: 2015年6月

SQL Database に移動 内のテーブルを操作できるように、Transact-SQL コードの直接使用を有効にします。

あらゆる種類のサーバー スクリプトで使用できます。

  1. insertupdatereaddel などのテーブル操作スクリプトや、

  2. スケジューラ スクリプト、

  3. カスタム API で使用できます。

詳細については、「JavaScript バックエンド モバイル サービスを操作する」の「テーブルにアクセスするための Transact-SQL の使用」セクションを参照してください。

mssql オブジェクトには、次のメソッドがあります。

  • query

  • queryRaw

  • 開く

TSQL 文字列で指定されるクエリを実行します。結果は、options オブジェクトの success コールバックに返されます。params パラメーターがある場合、クエリにはパラメーターを含めることができます。

mssql.query(sql, params, options)

 

Parameter 説明

sql

実行する TSQL 文字列。? プレースホルダーがある場合、各プレースホルダーは params 配列の内容で置き換えられます。

params

sql 文字列内の ? プレースホルダーを置き換えます。

options

success コールバック関数、およびオプションの error コールバック関数 (詳細については、「解説」を参照してください)。

TSQL 文字列で指定されるクエリを実行します。結果は、options オブジェクトの success コールバックに返されます。params パラメーターがある場合、クエリにはパラメーターを含めることができます。返される結果は raw 形式です。

raw 形式は JSON 形式であり、メタデータ セクション (結果セットの列を記述) と、それに続くセクション (複数の行要素を含み、各要素には結果セット内の列ごとに 1 つのエントリがある) で構成されます。例については、「モバイル サービスのサーバー スクリプトの操作」を参照してください。

mssql.queryRaw(sql, params, options)

 

Parameter 説明

sql

実行する TSQL 文字列。? プレースホルダーがある場合、各プレースホルダーは params 配列の内容で置き換えられます。

params

sql 文字列内の ? プレースホルダーを置き換えます。

options

success コールバック関数、およびオプションの error コールバック関数 (詳細については、「解説」を参照してください)。

モバイル サービスの SQL データベースへの接続を開きます。接続は、success ハンドラーへの引数として返されます。connection オブジェクトで次の関数を呼び出すことができます。closequeryRawquerybeginTransactioncommit、および rollback

mssql.open(options)

 

Parameter 説明

options

success コールバック関数、およびオプションの error コールバック関数 (詳細については、「解説」を参照してください)。

 

構文 説明

{ success:function(results) {…..}, error:function() { … }}

success 関数を使用すると、SQL データベースに対する操作の結果にアクセスできます。error 関数はオプションです。

このオブジェクトの 3 つのメソッドは、options パラメーターを使用します。これは 2 つのコールバック関数、success 関数とオプションの error 関数で構成されます。

success 関数は results パラメーターを取ります。この関数では、SQL Database 操作の結果を処理できます。

オプションの error 関数は、Azure モバイル サービスが提供する既定のレベルを超えたエラー回復のために使用されます。

エラーは、データベースへの接続の損失、無効なオブジェクト、不適切なクエリなどがあると発生します。既定では、エラーが発生すると、サーバー スクリプトでエラーがログに記録され、エラーの結果が応答に書き込まれます。モバイル サービスで既定のエラー処理が提供されるため、サービスで発生したエラーを処理する必要はありません。

特定の補正アクションが必要な場合や、グローバル console オブジェクトを使用してログに詳細な情報を書き込む場合は、明示的なエラー処理を実装することで、既定のエラー処理をオーバーライドすることができます。

詳細については、「モバイル サービスのサーバー スクリプトの操作」を参照してください。

次のクエリは、さまざまなサーバー スクリプトに含めることができます。これにはパラメーターはなく、statusupdate 関数の results パラメーターに、success テーブルから 3 つのレコードを返します。

   mssql.query('select top 3 * from statusupdates', {
      success: function(results) {
         console.log(results);
      },
      error: function(err) {
                console.log("error is: " + err);
      }
   });

次の例では、permissions テーブルから要求ユーザーの権限を読み取って、insert スクリプトにカスタム承認を実装します。クエリが実行されると、TSQL 文字列内のプレースホルダー ? が、指定されたパラメーター (渡される user パラメーターの userID フィールド) で置き換えられます。

function insert(item, user, request) {
    var sql = "SELECT _id FROM permissions WHERE userId = ? AND permission = 'submit order'";
    mssql.query(sql, [user.userId], {
        success: function(results) {
            if (results.length > 0) {
                // Permission record was found. Continue normal execution. 
                request.execute();
            } else {
                console.log('User %s attempted to submit an order without permissions.', user.userId);
                request.respond(statusCodes.FORBIDDEN, 'You do not have permission to submit orders.');
            }
        },
        error: function(err) {
           console.log("error is: " + err);
        }
    });
}

この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました
表示:
© 2015 Microsoft