hi guys
im working on an asp.net web site but wonderfully i cant update data here is my code:
int result = SqlHelper.ExecuteNonQuery(SqlHelper.CreateCommand("UpdateArticle", CommandType.StoredProcedure,
new SqlParameter("@ID", long.Parse(Request.QueryString["ArticleID"])),
new SqlParameter("@CategoryTitle", this.Category.SelectedItem.Text),
new SqlParameter("@Title", this.ArticleTitle.Text),
new SqlParameter("@Summary", this.ArticleSummary.Text),
new SqlParameter("@UserName", Context.User.Identity.Name),
new SqlParameter("@IsTmb", this.Tmb.Checked),
new SqlParameter("@IsDailty", this.Daily.Checked),
new SqlParameter("@TmbPhotoID", long.Parse(TmbPhotoID.Text)),
new SqlParameter("@Body", this.Editor.Text)
));
this.InfoLabel.Text = result == 1 ? "Update successfully" : "Failed";
My helper class and my connection string is very tested and here is my mark up:
<div class="InsertItemContainer">
<div>
<label for="Category">Category:</label>
<asp:DropDownList runat="server" ID="Category"></asp:DropDownList>
</div>
<div>
<label for="ArticleTitle" style="margin-left: 32px;">Title:</label>
<asp:TextBox runat="server" ID="ArticleTitle" Style="width: 60%;" />
<asp:RequiredFieldValidator runat="server" ID="TitleValidator" ControlToValidate="ArticleTitle" ErrorMessage="Its Needed!!"></asp:RequiredFieldValidator>
</div>
<div>
<label for="ArticleSummary" style="margin-left: 32px;">Summary:</label><asp:TextBox runat="server" ID="ArticleSummary" TextMode="MultiLine" Style="vertical-align: middle; width: 60%; resize: none;" />
<asp:RequiredFieldValidator runat="server" ID="SummaryValidator" ControlToValidate="ArticleSummary" ErrorMessage="Its Needed!!"></asp:RequiredFieldValidator>
</div>
</div>
<CKEditor:CKEditorControl runat="server" ID="Editor"></CKEditor:CKEditorControl>
<asp:RequiredFieldValidator runat="server" ID="EditorValidator" ControlToValidate="Editor" ErrorMessage="Its needed"></asp:RequiredFieldValidator>
<div style="direction: rtl;">
<asp:CheckBox runat="server" ID="Daily" Text="DailyITems" />
<asp:CheckBox runat="server" ID="Tmb" Text="Mosaic" />
</div>
<asp:Button runat="server" ID="Update" Text="Update" OnClick="Update_OnClick" CausesValidation="False" />
<asp:TextBox runat="server" ID="TmbPhotoID" placeHolder="TmbPhoto Id here" TextMode="Number"></asp:TextBox>
and something even more wondefully is some times when i replace the "this.ArticleTitle.Text with an absolute string is works @-@ no exception is thrown. except some times "Cannot have multiple items selected in a DropDownList." is thrown as exception.
and here is my procedure:
USE [WebServices]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[UpdateArticle]
@ID BigInt,
@CategoryTitle nVarChar(300),
@UserName nVarChar(300),
@Title nVarChar(600),
@IsTmb bit,
@IsDaily bit,
@Summary nVarChar(Max),
@Body nVarChar(Max),
@TmbPhotoID BigInt
As
Declare @CategoryID as BigInt
Declare @UserID as UniqueIdentifier
Select @UserID =
(
Select UserID from aspnet_Users Where UserName = @UserName
)
Select @CategoryID =
(
Select ID From Category Where Category.Title = @CategoryTitle
)
begin try
Update Article
Set CategoryID = @CategoryID,
UserID = @UserID,
IsTmb = @IsTmb,
IsDaily = @IsDaily,
Body = @Body,
Title = @Title,
Summary = @Summary,
TmbPhotoID = @TmbPhotoID
Where ID = @ID
return 1
end try
begin catch
return 0
end catch
thanks any one who read or help :)