UpdatePost
返回为BlogPostResults类型自定义枚举类型
参数为WeblogPost类型自定义对象变量
![]()
UpdatePost
public override BlogPostResults UpdatePost(WeblogPost post, int editedBy)
![]()
{
// Create Instance of Connection and Command Object
using( SqlConnection myConnection = GetSqlConnection() )
![]()
{
SqlCommand myCommand = new SqlCommand(databaseOwner + ".cs_weblog_Post_Update", myConnection);
![]()
// Mark the Command as a SPROC
myCommand.CommandType = CommandType.StoredProcedure;
![]()
myCommand.Parameters.Add("RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
![]()
// Add Parameters to SPROC
myCommand.Parameters.Add("@SectionID", SqlDbType.Int).Value = post.SectionID;
myCommand.Parameters.Add("@PostID", SqlDbType.Int, 4).Value = post.PostID;
myCommand.Parameters.Add("@Subject", SqlDbType.NVarChar, 256).Value = post.Subject;
myCommand.Parameters.Add("@Body", SqlDbType.NText).Value = post.Body;
myCommand.Parameters.Add("@FormattedBody", SqlDbType.NText).Value = post.FormattedBody;
myCommand.Parameters.Add("@EmoticonID", SqlDbType.Int).Value = post.EmoticonID;
myCommand.Parameters.Add("@IsLocked", SqlDbType.Bit).Value = post.IsLocked;
myCommand.Parameters.Add("@IsTracked", SqlDbType.Bit).Value = post.IsTracked;
myCommand.Parameters.Add("@IsApproved", SqlDbType.Bit).Value = post.IsApproved;
myCommand.Parameters.Add("@EditedBy", SqlDbType.Int, 4).Value = editedBy;
![]()
myCommand.Parameters.Add("@PostDate",SqlDbType.DateTime,8).Value = post.PostDate;
myCommand.Parameters.Add("@BloggerTime",SqlDbType.DateTime,8).Value = post.BloggerTime;
![]()
SerializerData data = post.GetSerializerData();
![]()
![]()
myCommand.Parameters.Add("@PropertyNames", SqlDbType.NText).Value = data.Keys;
myCommand.Parameters.Add("@PropertyValues", SqlDbType.NText).Value = data.Values;
![]()
myCommand.Parameters.Add(SettingsIDParameter());
![]()
// Allow Thread to update sticky properties.
//
if (post is IThread)
![]()
{
IThread thread = (IThread) post;
myCommand.Parameters.Add("@IsSticky", SqlDbType.Bit).Value = thread.IsSticky;
myCommand.Parameters.Add("@StickyDate", SqlDbType.DateTime).Value = thread.StickyDate;
}
![]()
myCommand.Parameters.Add("@Excerpt",SqlDbType.NVarChar,500).Value = DBValue(post.Excerpt);
myCommand.Parameters.Add("@PostName",SqlDbType.NVarChar,256).Value = DBValue(post.Name);
myCommand.Parameters.Add("@TitleUrl",SqlDbType.NVarChar,256).Value = DBValue(post.TitleUrl);
myCommand.Parameters.Add("@PostConfig",SqlDbType.Int,4).Value = post.PostConfig;
myCommand.Parameters.Add("@BlogPostType",SqlDbType.TinyInt).Value = post.BlogPostType;
![]()
if(post.BlogPostType == BlogPostType.Post)
![]()
{
myCommand.Parameters.Add("@CategoryType",SqlDbType.TinyInt).Value = CategoryType.BlogPost;
myCommand.Parameters.Add("@Categories",SqlDbType.NVarChar,4000).Value = ConvertCategoriesToXML(post.Categories);
}
else if(post.BlogPostType == BlogPostType.Article)
![]()
{
myCommand.Parameters.Add("@CategoryType",SqlDbType.TinyInt).Value = CategoryType.BlogArticle;
myCommand.Parameters.Add("@Categories",SqlDbType.NVarChar,4000).Value = ConvertCategoriesToXML(post.Categories);
}
![]()
// Execute the command
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
![]()
BlogPostResults result = (BlogPostResults)(int)myCommand.Parameters["RETURN_VALUE"].Value;
![]()
return result;
}
}
参数为WeblogPost类型自定义对象变量
public override BlogPostResults UpdatePost(WeblogPost post, int editedBy)
{
// Create Instance of Connection and Command Object
using( SqlConnection myConnection = GetSqlConnection() ) 
{
SqlCommand myCommand = new SqlCommand(databaseOwner + ".cs_weblog_Post_Update", myConnection);
// Mark the Command as a SPROC
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add("RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
// Add Parameters to SPROC
myCommand.Parameters.Add("@SectionID", SqlDbType.Int).Value = post.SectionID;
myCommand.Parameters.Add("@PostID", SqlDbType.Int, 4).Value = post.PostID;
myCommand.Parameters.Add("@Subject", SqlDbType.NVarChar, 256).Value = post.Subject;
myCommand.Parameters.Add("@Body", SqlDbType.NText).Value = post.Body;
myCommand.Parameters.Add("@FormattedBody", SqlDbType.NText).Value = post.FormattedBody;
myCommand.Parameters.Add("@EmoticonID", SqlDbType.Int).Value = post.EmoticonID;
myCommand.Parameters.Add("@IsLocked", SqlDbType.Bit).Value = post.IsLocked;
myCommand.Parameters.Add("@IsTracked", SqlDbType.Bit).Value = post.IsTracked;
myCommand.Parameters.Add("@IsApproved", SqlDbType.Bit).Value = post.IsApproved;
myCommand.Parameters.Add("@EditedBy", SqlDbType.Int, 4).Value = editedBy;
myCommand.Parameters.Add("@PostDate",SqlDbType.DateTime,8).Value = post.PostDate;
myCommand.Parameters.Add("@BloggerTime",SqlDbType.DateTime,8).Value = post.BloggerTime;
SerializerData data = post.GetSerializerData();

myCommand.Parameters.Add("@PropertyNames", SqlDbType.NText).Value = data.Keys;
myCommand.Parameters.Add("@PropertyValues", SqlDbType.NText).Value = data.Values;
myCommand.Parameters.Add(SettingsIDParameter());
// Allow Thread to update sticky properties.
//
if (post is IThread) 
{
IThread thread = (IThread) post;
myCommand.Parameters.Add("@IsSticky", SqlDbType.Bit).Value = thread.IsSticky;
myCommand.Parameters.Add("@StickyDate", SqlDbType.DateTime).Value = thread.StickyDate;
}
myCommand.Parameters.Add("@Excerpt",SqlDbType.NVarChar,500).Value = DBValue(post.Excerpt);
myCommand.Parameters.Add("@PostName",SqlDbType.NVarChar,256).Value = DBValue(post.Name);
myCommand.Parameters.Add("@TitleUrl",SqlDbType.NVarChar,256).Value = DBValue(post.TitleUrl);
myCommand.Parameters.Add("@PostConfig",SqlDbType.Int,4).Value = post.PostConfig;
myCommand.Parameters.Add("@BlogPostType",SqlDbType.TinyInt).Value = post.BlogPostType;
if(post.BlogPostType == BlogPostType.Post)
{
myCommand.Parameters.Add("@CategoryType",SqlDbType.TinyInt).Value = CategoryType.BlogPost;
myCommand.Parameters.Add("@Categories",SqlDbType.NVarChar,4000).Value = ConvertCategoriesToXML(post.Categories);
}
else if(post.BlogPostType == BlogPostType.Article)
{
myCommand.Parameters.Add("@CategoryType",SqlDbType.TinyInt).Value = CategoryType.BlogArticle;
myCommand.Parameters.Add("@Categories",SqlDbType.NVarChar,4000).Value = ConvertCategoriesToXML(post.Categories);
}
// Execute the command
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
BlogPostResults result = (BlogPostResults)(int)myCommand.Parameters["RETURN_VALUE"].Value;
return result;
}
}
浙公网安备 33010602011771号