0

グリッドビューの場合:

UpdateCommand の SQLDataSource で初めてストアド プロシージャを使用しようとしています。

<asp:SqlDataSource ID="TECT_DataSource" runat="server"
    ConnectionString="<%$ ConnectionStrings:OracleConnectionString %>" 
    ProviderName="<%$ ConnectionStrings:OracleConnectionString.ProviderName %>"
    SelectCommand="SELECT MPID, User_Id, Last_Name, First_Name
                   FROM Scripts.vw_Tect_Exam"
    UpdateCommand="P_TECT_UPD_EXAM_ID" UpdateCommandType="StoredProcedure">  
    <UpdateParameters>                    
        <asp:Parameter Name="MPID" Type="Int32"  />  
        <asp:Parameter Name="User_Id" Type="String" />   
    </UpdateParameters> 
</asp:SqlDataSource>

名前しか指定していないので、UpdateParameters の値がどのように設定されるのか疑問に思っています。
プロシージャP_TECT_UPD_EXAM_IDは入力として 2 つのパラメーターを想定しています。"in_MPID"また"in_UserId"
、名前が異なるため、これらの値をプロシージャーの入力パラメーターにマップする方法も知りたいですか?

4

2 に答える 2

2

あなたはそれらをこのように設定することができます:

例:この例では、MPIDはSQLパラメーター名@MPIDです。

<UpdateParameters>                    
    <asp:ControlParameter Name="MPID" ControlID="MPID_TextBox" PropertyName="Text  />  
    <asp:ControlParameter Name="User_Id" ControlID="User_Id_TextBox" PropertyName="Text  />  
</UpdateParameters> 

修正:procパラメータ名を見つけただけなので、

<asp:ControlParameter Name="in_MPID" ...............
<asp:ControlParameter Name="in_User_Id" ...............

お役に立てれば....

于 2012-06-28T14:29:29.093 に答える
0

私は実際には使用しませんSqlDataSource。コードビハインド(またはデータアクセス層)でデータベースを呼び出すと、はるかに簡単になります。

ストアドプロシージャの呼び出しを使用する場合は、SqlDataSourceそのページでのみ使用できます。同じ電話をかけたいときはいつでも、をコピーして貼り付けるSqlDataSourceか、それから作成する必要UserControlがあります。

次の例では、Entity Frameworkを使用してデータベースに接続し、レコードを取得します。

public List<Record> GetAllRecordsByUserName(string credentials)
{
    List<Record> recordList;
    using (CustomEntities context = new CustomEntities())
    {

        IQueryable<Section> recordQuery = from records in context.Records
                                              where records.UserName == credentials
                                              select records; 
        recordList = recordQuery.ToList<Record>();
    }
    return recordList;
}
于 2012-06-28T14:29:50.123 に答える