-4

C# と ASP.Net を使用した Web 開発についてもっと学ぼうとしています。

LINQ を使用して連絡先フォームの値をデータベースに保存していますが、データベースには、ストアド プロシージャを呼び出して生成される「ポリシー ID」も必要です。

ストアド プロシージャを呼び出し、生成された整数値を取得し、その値を使用してテーブルに PolicyID を設定する方法がまったくわかりません。

誰かが私に次のように機能するプロセスを提供してくれませんか:

SPROC を実行し、POLICY ID を返します。PolicyID を取得し、PolicyNo として設定します。PolicyNo を db.PolicyID に追加します

この情報の一部は非常に素人っぽく見えるかもしれませんが、LINQ もストアド プロシージャも使用したことがありません。私は今までフロントエンド開発者でした。

前もって感謝します!

編集:

これまでに使用した C# コードは次のとおりです。

using (MagTestDataContext context = new MagTestDataContext())
    {
        //create new instance of tblPolicy object
        tblPolicy policy = new tblPolicy();
        var policyNo = context.spNextPolicyID();
        //add values to field
        policy.PolicyID = policyNo;
        policy.PolicyHolder = tbName.Text;
        policy.EMail = tbEmail.Text;
        policy.Telephone = tbTelephone.Text;
        policy.Address1 = tbAddressLine1.Text;
        policy.Address2 = tbAddressLine2.Text;
        policy.Address3 = tbAddressLine3.Text;
        policy.Address4 = tbAddressLine4.Text;
        policy.PostCode = tbPostcode.Text;
        policy.ExtraInfo10 = tbInsurer.Text;
        policy.ExtraInfo11 = ddReason.Text;
        policy.ExtraInfo12 = tbOther.Text;
    }
4

1 に答える 1

0

It looks like you're using Entity Framework. If so, then you can execute a stored procedure using:

using (MagTestDataContext context = new MagTestDataContext())
{
    var policyid = db.ExecuteQuery<int>("DECLARE @ret INT; EXEC spNextPolicyID @ret OUTPUT; SELECT @ret").Single();
}
于 2013-04-18T12:37:23.443 に答える