GridView/SqlDataSource: не хочет работать процедура обновления
15.12.2011, 13:02. Просмотров 938. Ответов 5
Добрый день! Вчера целый день потратил и так и нечего решил. Обновления через ХП не хочет работать. Посмотреть какие параметры передаются у меня тоже не получеться(когда ловлю GridView1_RowUpdating(…)-«е» только дает список данных, новых и старых. SqlDataCource1_Updating(..)-“e” должно давать список параметров, но не хочет, хотя SqlDataCource1_Deleting(…) дает список параметров без проблем- загоняю их в стринг, а потом что бы не оправлять на сервер e.Cancel = true;.
HTML5 | 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
| //вот моя процедура обновления
ALTER PROCEDURE [dbo].[UpdateAddData1]
@old_id int,
@old_region nvarchar(50),
@old_central_outle nvarchar(50),
@old_client nvarchar(50),
@old_id_client int,
@old_loan_sum nvarchar(50),
@old_loan_currency nvarchar(4),
@old_product nvarchar(50),
@old_client_reguest nvarchar(50),
@old_r_person_f_branch_F_O nvarchar(50),
@old_date date,
@ID int,
@region nvarchar(50),
@central_outle nvarchar(50),
@client nvarchar(50),
@id_client int,
@loan_sum decimal(10,2),
@loan_currency nvarchar(4),
@product nvarchar(50),
@client_request nvarchar(50),
@r_person_f_branch_F_O nvarchar(50),
@date date
AS
UPDATE [dbo].[add_data_1]
SET
region = @region,
central_outle = @central_outle,
client = @client,
id_client = @id_client,
loan_sum = @loan_sum,
loan_currency = @loan_currency,
product = @product,
client_reguest = @client_request,
r_person_f_branch_F_O = @r_person_f_branch_F_O,
[date] = GETDATE()
WHERE id = @ID
-----------------------------------------------------------
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="id" DataSourceID="SqlDataSource1" AllowPaging="True"
AllowSorting="True" onrowdatabound="GridView1_RowDataBound"
CellPadding="4" ForeColor="#333333" GridLines="None"
onsorted="GridView1_Sorted" PageSize="3"
onrowupdating="GridView1_RowUpdating">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True"
ShowInsertButton="True" ShowSelectButton="True" />
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False"
ReadOnly="True" SortExpression="id" />
<asp:BoundField DataField="region" HeaderText="region"
SortExpression="region" />
<asp:BoundField DataField="central_outle" HeaderText="central_outle"
SortExpression="central_outle" />
<asp:BoundField DataField="client" HeaderText="client"
SortExpression="client" />
<asp:BoundField DataField="id_client" HeaderText="id_client"
SortExpression="id_client" />
<asp:BoundField DataField="loan_sum" HeaderText="loan_sum"
SortExpression="loan_sum" />
<asp:BoundField DataField="loan_currency" HeaderText="loan_currency"
SortExpression="loan_currency" />
<asp:BoundField DataField="product" HeaderText="product"
SortExpression="product" />
<asp:BoundField DataField="client_reguest" HeaderText="client_reguest"
SortExpression="client_reguest" />
<asp:BoundField DataField="r_person_f_branch_F_O"
HeaderText="r_person_f_branch_F_O" SortExpression="r_person_f_branch_F_O" />
<asp:BoundField DataField="date" HeaderText="date" SortExpression="date" />
</Columns>
...
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ln_jurnalConnectionString %>"
SelectCommand="GetAllAddData1" SelectCommandType="StoredProcedure"
DeleteCommand="DeleteAddData1" DeleteCommandType="StoredProcedure"
InsertCommand="InsAddData1" InsertCommandType="StoredProcedure"
UpdateCommand="UpdateAddData1"
UpdateCommandType="StoredProcedure"
ondeleting="SqlDataSource1_Deleting" ConflictDetection="CompareAllValues"
OldValuesParameterFormatString="old_{0}"
onupdating="SqlDataSource1_Updating" >
//удаления работает на ура
<DeleteParameters>
<asp:Parameter Name="ID" Type="Int32" />
<asp:Parameter Name="old_id" Type="Int32" />
<asp:Parameter Name="old_region" Type="String" />
<asp:Parameter Name="old_central_outle" Type="String" />
<asp:Parameter Name="old_client" Type="String" />
<asp:Parameter Name="old_id_client" Type="Int32" />
<asp:Parameter Name="old_loan_sum" Type="String" />
<asp:Parameter Name="old_loan_currency" Type="String" />
<asp:Parameter Name="old_product" Type="String" />
<asp:Parameter Name="old_client_reguest" Type="String" />
<asp:Parameter Name="old_r_person_f_branch_F_O" Type="String" />
<asp:Parameter DbType="Date" Name="old_date" />
</DeleteParameters>
//а вот обновления не хочет
<UpdateParameters>
<asp:Parameter Name="old_id" Type="Int32" />
<asp:Parameter Name="old_region" Type="String" />
<asp:Parameter Name="old_central_outle" Type="String" />
<asp:Parameter Name="old_client" Type="String" />
<asp:Parameter Name="old_id_client" Type="Int32" />
<asp:Parameter Name="old_loan_sum" Type="String" />
<asp:Parameter Name="old_loan_currency" Type="String" />
<asp:Parameter Name="old_product" Type="String" />
<asp:Parameter Name="old_client_reguest" Type="String" />
<asp:Parameter Name="old_r_person_f_branch_F_O" Type="String" />
<asp:Parameter Name="old_date" DbType="Date" />
<asp:Parameter Name="ID" Type="Int32" />//я делал и таким -id- (хотя ХП на это не смотрит)
<asp:Parameter Name="region" Type="String" />
<asp:Parameter Name="central_outle" Type="String" />
<asp:Parameter Name="client" Type="String" />
<asp:Parameter Name="id_client" Type="Int32" />
<asp:Parameter Name="loan_sum" Type="Decimal" />
<asp:Parameter Name="loan_currency" Type="String" />
<asp:Parameter Name="product" Type="String" />
<asp:Parameter Name="client_request" Type="String" />
<asp:Parameter Name="r_person_f_branch_F_O" Type="String" />
<asp:Parameter DbType="Date" Name="date" />
</UpdateParameters>
</asp:SqlDataSource> |
|
...
Вот и ОШИБКА:
Процедура или функция "UpdateAddData1" ожидает параметр "@ID", который не был указан.
Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.
Сведения об исключении: System.Data.SqlClient.SqlException: Процедура или функция "UpdateAddData1" ожидает параметр "@ID", который не был указан.
Ошибка источника:
Необработанное исключение при выполнении текущего веб-запроса. Информацию о происхождении и месте возникновения исключения можно получить, используя следующую трассировку стека исключений.
Трассировка стека:
[SqlException (0x80131904): Процедура или функция "UpdateAddData1" ожидает параметр "@ID", который не был указан.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +2030802
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +5009584
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +234
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2275
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +215
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +987
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +162
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +178
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +137
System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand command, DataSourceOperation operation) +394
System.Web.UI.WebControls.SqlDataSourceView.ExecuteUpdate(IDictionary keys, IDictionary values, IDictionary oldValues) +697
System.Web.UI.DataSourceView.Update(IDictionary keys, IDictionary values, IDictionary oldValues, DataSourceViewOperationCallback callback) +95
System.Web.UI.WebControls.GridView.HandleUpdate(GridViewRow row, Int32 rowIndex, Boolean causesValidation) +1226
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +716
System.Web.UI.WebControls.GridView.OnBubbleEvent(Object source, EventArgs e) +95
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.GridViewRow.OnBubbleEvent(Object source, EventArgs e) +121
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +125
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +169
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +9
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +176
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563
Я уже даже и не знаю, что с этим делать.
0
|