AddPost

返回为 BlogPostResults类型自定义枚举类型
参数为 WeblogPost类型自定义对象变量
参数为 User类型自定义对象变量
ContractedBlock.gif ExpandedBlockStart.gif AddPost
ExpandedBlockStart.gifContractedBlock.gif/**//// <summary>
InBlock.gif
/// Adds a new Weblog Post to the data store
ExpandedBlockEnd.gif
/// </summary>

None.gifpublic override BlogPostResults AddPost(WeblogPost post, User user, out int postID)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    postID 
= -1;
InBlock.gif
InBlock.gif    
// Create Instance of Connection and Command Object
InBlock.gif    
//
InBlock.gif
    using( SqlConnection myConnection = GetSqlConnection() ) 
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        SqlCommand myCommand 
= new SqlCommand(databaseOwner + ".cs_weblog_Post_Create", myConnection);
InBlock.gif        myCommand.CommandType 
= CommandType.StoredProcedure;
InBlock.gif
InBlock.gif        myCommand.Parameters.Add(
"RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
InBlock.gif
InBlock.gif        
// Add parameters
InBlock.gif        
//
InBlock.gif
InBlock.gif        
//以下各行代码下面的注释:第一行为例子时的值,第二行开始为个人注释
InBlock.gif
        myCommand.Parameters.Add("@SectionID", SqlDbType.Int).Value = post.SectionID;    
InBlock.gif        
// 14    
InBlock.gif        
//实际意义为:氯胺酮的Blog(自己建立的)
InBlock.gif        
//如果是论坛,则为版块的ID
InBlock.gif        
//ps:GroupID为版块集合区的ID,就是说,一个Group下面有多个Section
InBlock.gif
        
InBlock.gif        myCommand.Parameters.Add(
"@ParentID", SqlDbType.Int).Value = post.ParentID;
InBlock.gif        
// 0
InBlock.gif        
//如果新随笔,那么该参数在最终写入数据库时,为该新随笔记录的PostID
InBlock.gif        
//如果是“评论”时调用此方法,那么该值为被评论的blog的PostID
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@AllowDuplicatePosts", SqlDbType.Bit).Value = true;
InBlock.gif        
//    
InBlock.gif        
//字面理解,允许复制帖子
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@DuplicateIntervalInMinutes", SqlDbType.Int).Value = 1;    
InBlock.gif        
//    
InBlock.gif        
//不知道
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@Subject", SqlDbType.NVarChar, 256).Value = post.Subject;    
InBlock.gif        
// “新随笔,WeblogSqlDataProvider.AddPost”    
InBlock.gif        
//我新建随笔的时候标题
InBlock.gif        
//论坛,指帖子标题
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@IsLocked", SqlDbType.Bit).Value = post.IsLocked;        
InBlock.gif        
// false    
InBlock.gif        
//发表的时候,如果Checked锁定该帖子不允许评论(相对于论坛就是不允许跟贴)
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@IsApproved", SqlDbType.Bit).Value = post.IsApproved;        
InBlock.gif        
// true    
InBlock.gif        
//是否审核
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@IsTracked", SqlDbType.Bit).Value = post.IsTracked;        
InBlock.gif        
// true    
InBlock.gif        
//不知道
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@PostType", SqlDbType.Int).Value = post.PostType;        
InBlock.gif        
// HTML    
InBlock.gif        
//帖子类型,还有BBCode
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@EmoticonID", SqlDbType.Int).Value = post.EmoticonID;        
InBlock.gif        
// 0    
InBlock.gif        
//不知道
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@UserID", SqlDbType.Int).Value = user.UserID;            
InBlock.gif        
// 2105    
InBlock.gif        
//怎样从GUID换算成这么一个int?
InBlock.gif        
//是否每次不一样?经过第二次跟踪每次一样
InBlock.gif        
//好像不是经过换算,跟踪其他用户的ID,发现在我公司起的这个CS里,每个userid都是从21开头,4位整数
InBlock.gif        
//2101,2102,2105。。。
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@Body", SqlDbType.NText).Value = post.Body;            
InBlock.gif        
// public override BlogPostResults AddPost(WeblogPost post, User user, out int postID)    
InBlock.gif        
//日志内容,因为我是跟踪这个方法,所以将方法的第一行声明用于blog的内容
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@FormattedBody", SqlDbType.NText).Value = post.FormattedBody;    
InBlock.gif        
// public override BlogPostResults AddPost(WeblogPost post, User user, out int postID)    
InBlock.gif        
//日志内容,跟踪过多种格式的日志内容后发现这两个值一样。。。
InBlock.gif        
//肯定有用途,肯定有不一样的时候,但是我未发现
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@UserHostAddress", SqlDbType.NVarChar, 32).Value = post.UserHostAddress;    
InBlock.gif        
// 127.0.0.1    
InBlock.gif        
//用户访问时使用的ip地址
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@PostDate",SqlDbType.DateTime,8).Value = post.PostDate;    
InBlock.gif        
// 10/17/2005    
InBlock.gif        
//建立帖子的日期
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@BloggerTime",SqlDbType.DateTime,8).Value = post.BloggerTime;    
InBlock.gif        
//10/17/2005    
InBlock.gif        
//建立帖子的人的机器日期(猜测)
InBlock.gif

InBlock.gif        SerializerData data 
= post.GetSerializerData();
InBlock.gif
InBlock.gif
InBlock.gif        myCommand.Parameters.Add(
"@PropertyNames", SqlDbType.NText).Value = data.Keys;    
InBlock.gif        
//EnableRatings:S:0:4:EnableTrackBacks:S:4:4:CommentModerationType:S:8:4:EverPublished:S:12:4:
InBlock.gif        
//属性名,及名称对应的Value的定位,如果不明白,看看“序列化”相关的知识
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@PropertyValues", SqlDbType.NText).Value = data.Values;    
InBlock.gif        
//TrueTrueNoneTrue
InBlock.gif        
//对应上面的值
InBlock.gif        
//实际效果,获得的结果为:EnableRatings=True,EnableTrackBacks=True,CommentModerationType=None,EverPublished=True
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(SettingsIDParameter());
InBlock.gif        
InBlock.gif        
InBlock.gif        myCommand.Parameters.Add(
"@IsSticky", SqlDbType.Bit).Value = false;    
InBlock.gif        
//false    
InBlock.gif        
//不知道
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@StickyDate", SqlDbType.DateTime).Value = System.Data.SqlTypes.SqlDateTime.MinValue;    
InBlock.gif        
//日期    
InBlock.gif        
//系统最小日期
InBlock.gif

InBlock.gif
InBlock.gif        myCommand.Parameters.Add(
"@Excerpt",SqlDbType.NVarChar,500).Value = DBValue(post.Excerpt);    
InBlock.gif        
//“”    
InBlock.gif        
//不知道
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@PostName",SqlDbType.NVarChar,256).Value = DBValue(post.Name);    
InBlock.gif        
//“”    
InBlock.gif        
//不知道
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@TitleUrl",SqlDbType.NVarChar,256).Value = DBValue(post.TitleUrl);    
InBlock.gif        
//null    
InBlock.gif        
//不知道
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@PostConfig",SqlDbType.Int,4).Value = post.PostConfig;    
InBlock.gif        
//3    
InBlock.gif        
//不知道
InBlock.gif

InBlock.gif        myCommand.Parameters.Add(
"@BlogPostType",SqlDbType.TinyInt).Value = post.BlogPostType;    
InBlock.gif        
//Post    
InBlock.gif        
//不知道
InBlock.gif

InBlock.gif        
if(post.BlogPostType == BlogPostType.Post)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            myCommand.Parameters.Add(
"@CategoryType",SqlDbType.TinyInt).Value = CategoryType.BlogPost;    
InBlock.gif            
// CategoryType.BlogPost
InBlock.gif            
//CategoryType枚举值:BlogPost
InBlock.gif

InBlock.gif            myCommand.Parameters.Add(
"@Categories",SqlDbType.NVarChar,4000).Value = ConvertCategoriesToXML(post.Categories);    
InBlock.gif            
//    
InBlock.gif            
//不知道
ExpandedSubBlockEnd.gif
        }

InBlock.gif        
else if(post.BlogPostType == BlogPostType.Article)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            myCommand.Parameters.Add(
"@CategoryType",SqlDbType.TinyInt).Value = CategoryType.BlogArticle;
InBlock.gif            myCommand.Parameters.Add(
"@Categories",SqlDbType.NVarChar,4000).Value = ConvertCategoriesToXML(post.Categories);
ExpandedSubBlockEnd.gif        }

InBlock.gif
InBlock.gif        myCommand.Parameters.Add(
"@PostID", SqlDbType.Int).Direction = ParameterDirection.Output;    
InBlock.gif        
//    
InBlock.gif        
//返回新增Post的ID
InBlock.gif

InBlock.gif        myConnection.Open();
InBlock.gif        myCommand.ExecuteNonQuery();
InBlock.gif
InBlock.gif        
// LN 5/27/04: try/catch added to get rid of exceptions
InBlock.gif
            BlogPostResults result =  (BlogPostResults)(int)myCommand.Parameters["RETURN_VALUE"].Value;    
InBlock.gif            
//    
InBlock.gif            
//执行SP后成功与否的标志
InBlock.gif
            if(result == BlogPostResults.Success)    
InBlock.gif            
//如果成功,才获取下面的值
InBlock.gif
                postID = (int) myCommand.Parameters["@PostID"].Value;    
InBlock.gif                
//执行SP成功,获取out参数postID
InBlock.gif

InBlock.gif        myConnection.Close();
InBlock.gif        
return result;
ExpandedSubBlockEnd.gif    }

InBlock.gif
ExpandedBlockEnd.gif}

None.gif
None.gif

转载于:https://www.cnblogs.com/konimeter/archive/2005/10/17/256485.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你的博客中有很多质量比较高的好文章,那么它被转载的概率是非常的大,文章被转载是我们所期望的,可文章被转载后被稍加修改,就变成别人的文章了,虽然,我们对于这样的行为没有十分有效的办法,但是,我们最起码也要给文章添加个版权声明表明我们的态度。 添加版权说明也没有什么麻烦的,就是在文章的结尾加上“原创文章,转载注明转:XXXXXX”之类的版权说明,虽然这不是件麻烦的事,可是长期坚持下来,你可能会感觉到有点麻烦,每次写文章都需要机械时的重复,这也让人....... 为了解决这个麻烦,就看看这款Add Post URL插件吧,这款插件允许你在所有文章的开头或结尾处插入一段自定义的文字。这段文字可以是你的版权写明,也可以是广告,或者其它文字,安装完插件后,你可以自由编辑你的用户自定义字符串。自定义字符串允许使用HTML语句,请参考插件提供的缺省字符串。另外,你还可以在自定义字符串中使用下面的变量: •%site_url% - 站点的URL链接 •%site_name% - 站点的名字 •%post_url% - 显示这段内容的文章的URL链接 •%post_title% - 显示这段内容的文章的标题 Add Post URL插件安装: 1.下载Add Post URL插件,然后上传插件到/wp-content/plugins/下的文件夹。 2.到wp管理后台插件页面,点击”Add Post URL插件“激活插件,激活后插件后,在后台"Setting"--->"Add Post URL",你会看到如下页面(点击图片查看大图): 你可以在页面的编辑框中输入任意内容,如上图所示的那样,上图中有两个选项: Add To Beginning:控制编辑框的内容显示在首部还是尾部 Keep Plugin Credit:是否在内容后添加作者信息 设置好后,点击“Save Changes”进行保存,如果感觉设置的有问题,点击“Restore Default Values”进行恢复缺省值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值