Как установить параметры для SqlDataSource UpdateCommand

Для Gridview:

Я пытаюсь использовать хранимую процедуру в первый раз в SQLDataSource для UpdateCommand:

<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 ожидает два параметра в качестве входных данных: "in_MPID" а также "in_UserId"
Мне также интересно, как сопоставить эти значения с входными параметрами для процедуры, так как имена разные?

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> 

Исправление: Просто определили имена параметров вашего процесса, так что это должно быть

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

Надеюсь это поможет....

Я действительно не буду использовать 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;
}
Другие вопросы по тегам