подробный просмотр: вставка / обновление отдельной записи - PullRequest
0 голосов
/ 04 марта 2009

Я хочу реализовать следующий сценарий ...

Таблица, связанная с этим вопросом, выглядит следующим образом:

ProfileID int (идентификатор) FirstName varchar (100) LastName varchar (100)

шаг 1. Пользователь заходит на страницу profiles.aspx. Здесь в виде сетки он может видеть профили других людей. (Я знаю, как это сделать.)

Шаг 2. Пользователь заходит на страницу MyProfile.aspx. Поскольку его профиль не существует, подробное представление пустое с включенной кнопкой вставки. Пользователь нажимает кнопку вставки и может добавить только свой профиль. (Я не знаю, как это сделать).

Шаг 3. После добавления профиля пользователя он отображается на странице profiles.aspx. Он хочет обновить свой профиль. Он переходит на страницу MyProfile.aspx с ProfileID, скажем, 33. DetailsView может вывести свой профиль на основе профиля, и кнопка обновления включена. (Я не знаю, как это сделать.)

Может кто-нибудь, пожалуйста, помогите мне с шагами 2 и 3. Я не знаю, как настроить sqldatasource и подробный просмотр для достижения этой цели.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 18 марта 2009

см. Следующий пример ........ исходный файл .aspx я использую gridview и detailsview для вставки, обновления, редактирования таблицы грузовика. выполните следующие шаги: 1. возьмите gridview.assign datakeynames в качестве уникального столбца из таблицы. Вы можете написать границы для каждого поля. Фактически, это лучший способ. 2. Возьмите контроль над источником данных. Свяжите его со своим столом. 3. свяжите этот источник данных с Gridview. Вы поймете эти шаги лучше, когда будете проходить через следующий код. 4. Возьмите подробный вид. Присвойте datakeynames своему уникальному столбцу из таблицы. 5.Введите другой источник данных. Свяжите его с той же таблицей. Определите команду вставки, выберите команду. объявите параметр select, updateparameter, как показано ниже. Надеюсь, это поможет вам.

<asp:GridView id                  ="gridTruckMaster" 
          runat               ="server" 
          CssClass            ="GridView" 
          DataKeyNames        ="TruckType" 
          DataSourceID        ="SqlDataSource1" 
          AutoGenerateColumns ="False" 
          ShowFooter          ="True" 
          AllowPaging         ="True">
<FooterStyle BackColor="#5D7B9D" Font-Bold="True"    ForeColor="White"></FooterStyle>
<RowStyle    VerticalAlign="Top" BackColor="#F7F6F3" ForeColor="#333333"></RowStyle>
<Columns>
<asp:BoundField   DataField="TruckType"     HeaderText="TruckType"     SortExpression="TruckType"></asp:BoundField>
<asp:BoundField   DataField="TruckCapacity" HeaderText="TruckCapacity" SortExpression="TruckCapacity"></asp:BoundField>
<asp:CommandField ShowSelectButton="True"></asp:CommandField>
</Columns>
<PagerStyle       BackColor="#284775" HorizontalAlign="Center"   ForeColor="White"></PagerStyle>
<SelectedRowStyle BackColor="#669999" Font-Bold="True"           ForeColor="White"></SelectedRowStyle>
<HeaderStyle      BackColor="#5D7B9D" Font-Bold="True"           ForeColor="White"></HeaderStyle>
</asp:GridView> 

<asp:SqlDataSource ID               ="SqlDataSource1" 
                   runat            ="server" 
                   ConnectionString ="<%$ ConnectionStrings:GodrejReporterConnectionString %>"
                   SelectCommand    ="SELECT [TruckType], [TruckCapacity] FROM [tbl_TruckMaster]"></asp:SqlDataSource>


<asp:DetailsView  id               ="dtlviewTruckMaster"   
              runat            ="server"         
              CssClass         ="GridView" 
              Width            ="125px" 
              DataKeyNames     ="TruckType" 
              Height           ="50px" 
              AutoGenerateRows ="False"
              HeaderText       ="Truck Details"
        ><Fields>
<asp:BoundField   DataField="TruckType"     HeaderText="TruckType" ReadOnly="True"></asp:BoundField>
<asp:BoundField   DataField="TruckCapacity" HeaderText="TruckCapacity"></asp:BoundField>
<asp:CommandField ShowInsertButton="True"></asp:CommandField>
<asp:CommandField ShowEditButton="True"></asp:CommandField>
</Fields>
<FooterStyle     BackColor="#5D7B9D"      Font-Bold="True"    ForeColor="White"></FooterStyle>
<RowStyle        VerticalAlign="Top"      BackColor="#F7F6F3" ForeColor="#333333"></RowStyle>
<EditRowStyle    Width="250px"            Height="10px"/>
<InsertRowStyle  Width="250px"            Height="10px" />
<PagerStyle      HorizontalAlign="Center" BackColor="#284775" ForeColor="White"></PagerStyle>
<HeaderStyle     BackColor="#5D7B9D"      Font-Bold="True"    ForeColor="White"></HeaderStyle>
<CommandRowStyle BackColor="#5D7B9D" />
</asp:DetailsView> 

<asp:SqlDataSource ID               ="SqlDataSource2" 
                   runat            ="server" 
                   ConnectionString ="<%$ ConnectionStrings:GodrejReporterConnectionString %>"
                   SelectCommand    ="SELECT [TruckType], [TruckCapacity] FROM [tbl_TruckMaster] where TruckType=@pTruckType"
                   insertcommand    ="insert into tbl_TruckMaster(TruckType,TruckCapacity) values(@TruckType,@TruckCapacity)"
                   updatecommand    ="update tbl_TruckMaster set TruckCapacity=@TruckCapacity where TruckType=@pType"
    >
    <SelectParameters>
        <asp:ControlParameter ControlID="gridTruckMaster" Name="pTruckType" PropertyName="SelectedValue" />
    </SelectParameters>
    <UpdateParameters>
        <asp:ControlParameter ControlID="gridTruckMaster" Name="pType"      PropertyName="SelectedValue" />
    </UpdateParameters>
</asp:SqlDataSource>

Если у вас возникли проблемы, вы можете написать мне по адресу tbchandgude@gmail.com

0 голосов
/ 04 марта 2009

Хорошо, я дам вам простое решение, которое вы можете изменить в соответствии со своими потребностями.

Для шага 2: Вы создаете страницу, которая называется create.aspx, например; на этой странице вы поместите все необходимые текстовые поля и кнопку для регистрации. По нажатию на событие этой кнопки напишите что-нибудь, как показано ниже

//using System.Data;
//using System.Data.Sql; you have to import these

//Put connection string
SqlConnection sqlcon = new SqlConnection("your connection string here which will be able to find in MSDN");
sql.Open();
SqlCommand sqlcmd = new SqlCommand("INSERT INTO Statement which easily find in MSDN too",sqlcon);
sqlcmd.ExecuteNoneQuery();
sql.Close();

Какой этот код вы можете вставить в базу данных как хотите. В строке INSERT INTO вы объединяете свои входные данные, но будьте очень осторожны, так как это может вызвать ошибку SqlInjection, которая очень опасна. (Пожалуйста, прочитайте статьи об этом).

Для шага 3: все то же самое, за исключением того, что вместо выражения «INSERT ....» необходимо использовать выражение «UPDATE ...», которое можно найти в MSDN.

С уважением, Pooria.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...