Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Нужна помощь с методом SqlDataSource.Update / 11 сообщений из 11, страница 1 из 1
06.03.2012, 12:44
    #37693216
maives
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с методом SqlDataSource.Update
Несколько дней назад начал изучать .net и стазу же столкнулся с проблемой обновления записей.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
<asp:SqlDataSource ID="SqlDataSourceShow" runat="server" 
        ConnectionString="<%$ ConnectionStrings:conCadry %>" 
            SelectCommand="SELECT [guid], [dateregister], [famely], [names], [otchestvo], [telepfone], [registercode] FROM cadryuser WHERE ([activity] = @activity)"  
            UpdateCommand="UPDATE carduser SET [activity] = @stage WHERE [guid] = @selected_row">
        <SelectParameters>
            <asp:Parameter DefaultValue="1" Name="activity" Type="Int32" />
        </SelectParameters>
        <UpdateParameters>
            <asp:ControlParameter ControlID="selected_row" Name="select_guid" PropertyName="Text" Type="String" />
            <asp:Parameter Name="stage" DefaultValue="2" Type="String" />
        </UpdateParameters>

    </asp:SqlDataSource>
       
        <asp:GridView ID="GridView" runat="server" AutoGenerateColumns="False" 
            CssClass="table table-striped table-bordered table-condensed" 
            DataSourceID="SqlDataSourceShow" AllowSorting="True" EmptyDataText="На данный момент анкеты отсутствуют." DataKeyNames="guid">
            <Columns>
                <asp:BoundField DataField="guid" HeaderText="Код пользователя" 
                    SortExpression="guid" />
                <asp:BoundField DataField="dateregister" HeaderText="Дата регистрации" 
                    SortExpression="dateregister" />
                <asp:BoundField DataField="registercode" HeaderText="Код регистрации" 
                    SortExpression="registercode" />
                <asp:BoundField DataField="famely" HeaderText="Фамилия" 
                    SortExpression="famely" />
                <asp:BoundField DataField="names" HeaderText="Имя" 
                    SortExpression="names" />
                <asp:BoundField DataField="otchestvo" HeaderText="Отчество" 
                    SortExpression="otchestvo" />
                <asp:BoundField DataField="telepfone" HeaderText="Телефон" 
                    SortExpression="telepfone" />
                <asp:CommandField SelectText="Одобрить" ShowSelectButton="True" />
            </Columns>
        </asp:GridView>

        <asp:HiddenField ID="selected_row" runat="server" />



Хочу чтобы запись обновлялось по событию.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
    Protected Sub GridView_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles GridView.SelectedIndexChanged
        Me.selected_row.Value = Me.GridView.SelectedRow.Cells("0").Text

        Try
            SqlDataSourceShow.Update()
            Dim complete_title As String = "Обработка завершина."
            Dim complete_style As MsgBoxStyle = MsgBoxStyle.OkOnly Or MsgBoxStyle.SystemModal
            Dim complete_message As String = "Анкета успешно одобрина!"
            MsgBox(complete_message, complete_style, complete_title)

        Catch except As Exception

            Dim error_title As String = "Ошибка обновления данных."
            Dim error_style As MsgBoxStyle = MsgBoxStyle.Critical Or MsgBoxStyle.SystemModal
            Dim error_message As String = "Не удалось одобрить анкету! Повторите попытку через 5 минут или обратитесь к администратору по телефону: 10-515 (Владимир)."
            MsgBox(error_message, error_style, error_title)

        End Try

    End Sub



Подскажите что делаю не так, уже 3 день бьюсь. Заранее спасибо.

www.maiboroda.ru
...
Рейтинг: 0 / 0
06.03.2012, 13:10
    #37693311
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с методом SqlDataSource.Update
не на том языке пишите :)
троллинг
...
Рейтинг: 0 / 0
06.03.2012, 13:13
    #37693327
.
.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с методом SqlDataSource.Update
maives
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<asp:SqlDataSource 
            UpdateCommand="UPDATE carduser SET [activity] = @stage WHERE [guid] = @selected_row">

        <UpdateParameters>
            <asp:ControlParameter ControlID="selected_row" Name="select_guid" PropertyName="Text" Type="String" />
        </UpdateParameters>
    </asp:SqlDataSource>

нда
...
Рейтинг: 0 / 0
06.03.2012, 13:16
    #37693333
maives
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с методом SqlDataSource.Update
Все равно не работает :(
...
Рейтинг: 0 / 0
06.03.2012, 13:19
    #37693336
.
.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с методом SqlDataSource.Update
SanSYSне на том языке пишите :)
троллингда я вообще в шоке куды он MessageBox собрался выдавать... на экран сервера небось
...
Рейтинг: 0 / 0
06.03.2012, 13:24
    #37693351
maives
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с методом SqlDataSource.Update
MessageBox вывожу для отладки, что в этом такого?
...
Рейтинг: 0 / 0
06.03.2012, 13:44
    #37693406
.
.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с методом SqlDataSource.Update
maivesMessageBox вывожу для отладкина экран сервера?
...
Рейтинг: 0 / 0
06.03.2012, 14:21
    #37693496
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с методом SqlDataSource.Update
.SanSYSне на том языке пишите :)
троллингда я вообще в шоке куды он MessageBox собрался выдавать... на экран сервера небось
Было у нас как то раз Debug.Assert, реально звонил в хостинг, объяснял что нужно подойти и в окошке Ok нажать, а то сайт не работал :))
...
Рейтинг: 0 / 0
06.03.2012, 14:24
    #37693504
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с методом SqlDataSource.Update
maives,

Тебе советую почитать Дино Эспозито или мак Дональда, книги вида ASP.NET 4 via C# 2010, не шучу
Для начала не читай все подряд, прочти работу с данными, а "перед сном", читай прям с начала, чтобы понимать как все работает
Качай на русском, если инглишь не катит, сейчас главное базовые понятия усвоить
MessageBox в вебе - забудь, если что-то хочешь вывести юзай хотябы Response.Write - никогда не подведет )
...
Рейтинг: 0 / 0
06.03.2012, 14:58
    #37693572
maives
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с методом SqlDataSource.Update
SanSYS,

Спасибо за помощь, проблема разрешилась, вот рабочий вариант может кому пригодится.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
    <asp:SqlDataSource ID="SqlDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:conCadry %>" 
        SelectCommand="SELECT * FROM [cadryuser]" 
        DeleteCommand="DELETE FROM cadryuser WHERE (id = @id)" 
        UpdateCommand="UPDATE cadryuser SET activity = @new_activity WHERE (id = @id)">
        <DeleteParameters>
            <asp:ControlParameter ControlID="GridView" Name="id" PropertyName="SelectedValue" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="new_activity" DefaultValue="2" />
            <asp:ControlParameter ControlID="GridView" Name="id" PropertyName="SelectedValue" />       
        </UpdateParameters>
    </asp:SqlDataSource>
    

    <asp:GridView ID="GridView" runat="server" AllowSorting="True" 
        AutoGenerateColumns="False" DataSourceID="SqlDataSource" DataKeyNames="id">
        <Columns>
            <asp:CommandField ShowDeleteButton="True" ShowSelectButton="True" />
            <asp:BoundField DataField="id" HeaderText="id" SortExpression="id" 
                InsertVisible="False" ReadOnly="True" />
            <asp:BoundField DataField="dateregister" HeaderText="dateregister" 
                SortExpression="dateregister" />
            <asp:BoundField DataField="dateotclans" HeaderText="dateotclans" 
                SortExpression="dateotclans" />
            <asp:BoundField DataField="registercode" HeaderText="registercode" 
                SortExpression="registercode" />
            <asp:BoundField DataField="famely" HeaderText="famely" 
                SortExpression="famely" />
            <asp:BoundField DataField="names" HeaderText="names" SortExpression="names" />
            <asp:BoundField DataField="otchestvo" HeaderText="otchestvo" 
                SortExpression="otchestvo" />
            <asp:BoundField DataField="telepfone" HeaderText="telepfone" 
                SortExpression="telepfone" />
            <asp:BoundField DataField="activity" HeaderText="activity" 
                SortExpression="activity" />
            <asp:BoundField DataField="rangs" HeaderText="rangs" SortExpression="rangs" />
            <asp:BoundField DataField="autch" HeaderText="autch" SortExpression="autch" />
            <asp:BoundField DataField="psytest" HeaderText="psytest" 
                SortExpression="psytest" />
            <asp:BoundField DataField="iqtest" HeaderText="iqtest" 
                SortExpression="iqtest" />
            <asp:BoundField DataField="proftest" HeaderText="proftest" 
                SortExpression="proftest" />
        </Columns>
        <EmptyDataTemplate>
            Нет данных для отображения.
        </EmptyDataTemplate>
    </asp:GridView>
...
Рейтинг: 0 / 0
23.07.2012, 16:41
    #37889445
Нужна помощь с методом SqlDataSource.Update
А у меня не разрешилась. Тоже который день бьюсь.
Ошибка ORA-00936: отсутствует выражение.
Похоже, в UpdateCommand не воспринимается символ @ (сервер Oracle):

<asp:SqlDataSource ID="sdsCalendar" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionStringDW %>"
ProviderName="<%$ ConnectionStrings:ConnectionStringDW.ProviderName %>"
UpdateCommand="update REF_DATES set DATE_TYPE = @DATE_TYPE where to_char(ID, 'dd.mm.yyyy')=@MONTHDAY">
<UpdateParameters>
<asp:ControlParameter ControlID="grvCalendar" Name="MONTHDAY" PropertyName="SelectedValue" />
<asp:Parameter Name="DATE_TYPE" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>

<asp:GridView ID="grvCalendar" runat="server"
AutoGenerateColumns="False"
DataKeyNames="MONTHDAY" DataSourceID="sdsCalendar"
EnableModelValidation="False" EnableTheming="False" EnableViewState="False" UseAccessibleHeader="False">
<Columns>
<asp:CommandField ButtonType="Link" CausesValidation="False" Visible="True"
ShowEditButton="True" EditText="Править" ShowCancelButton="True"
CancelText="Отменить" UpdateText="Сохранить" />

<asp:BoundField DataField="MONTHDAY" HeaderText="Даты месяца" ReadOnly="True" />
<asp:BoundField DataField="WEEKDAY" HeaderText="День недели" ReadOnly="True" />
<asp:BoundField DataField="DATE_TYPE" HeaderText="Тип дня" />
</Columns>
</asp:GridView>

А когда пишу
UpdateCommand="update REF_DATES set DATE_TYPE = 1 where to_char(ID, 'dd.mm.yyyy')='01.07.2012'">
- нормально работает
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Нужна помощь с методом SqlDataSource.Update / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]