民族

民族目中无人的倔强——再读《爱晚亭集序》

17 2月 , 2019  

  • sql里有权且表,可以in三个一时表–那时,可以设想and trade_no
    in(select @p1 union all select @p2 union all…)的方式
  • 把sql的in集合,转换为一个用or拼接起来的成团—即,and (trade_no=@p1
    or trade_no=@p2 or trade_no=@p3 or…)

由美景美情转而考虑世事人情,小编的心气不禁黯淡下来。身边固然有接近好友,本人在本来之中自然也足以不拘小节,不过那样的称心称心快意,其实都是不久的。然则王羲之在此处有一句说得未必好,那就是“以为暂得于己”。其实,对于那么些沉浸在良辰美景赏心乐事之中的人来说,并不会特别醒来地窥见到一切都以“暂”的,痴人总是在梦中,总以为此刻即一定,唯有清醒地觉察到生命短暂的浓眉大眼可以分明地了解,那种欢畅美好其实是须臾间即逝的。所以,借使从梦中痴人的视角,那句话应该说成“以为常得于己”才对。但当一切令人心生厌倦的时候,人们的心思也会随之而黯然失落。那是从人不怎样的思想感受方面说的;更何况“修短随化,终期于尽”,那是讲生命的任其自流消逝,是从客观的人命规律上说的,当然,那句话中还含有着对于客观规律无缘无故的惊讶。那样一想,自然会发觉,越美好,越忧伤,越讲究,越悲伤。“岂不痛哉”,是当然的感受了。其实,王羲之最初在此地写的是“岂不哀哉”,可是在原稿中,他用更粗重的笔画,将“哀”字改成了“痛”字。我分析原因有二,一是因为“痛”,更可以展现那种直接的须臾间暴发的切肤之痛,而“哀”不免显得不堪一击绵长了,并不相符当下那种猛然拿到的思想感受。另一方面,从口音上说,“痛”更高昂,更有力,在此处,就像3个雷暴式现身的惊叹号一般,令人心惊。

【结语】无意中从园子里看看一篇小说,不应当活着的SqlHelper和DBHelper,很赞!

《湖心亭集序》首要的心理线索是“乐”—“痛”—“悲”。

其间,有个基于两个订单号查询支付单的艺术,签名如下:

每览昔人兴感之由,若合一契,未尝不临文嗟悼,不或许喻之于怀。固知一死生为虚诞,齐彭殇为妄作。后之视今,亦犹今之视昔,悲夫!故列叙时人,录其所述,虽世殊事异,所以兴怀,其致一也。后之览者,亦将有感于Sven。

程序代码在上头的根基上稍做处理:

比方条分缕析探究大家简单窥见,那样的生命感喟,恰恰是爆发于前一段“仰观宇宙之大,俯察品类之盛”一句的,那么些可以吸引欢腾的来头,恰恰又是悲痛欲绝暴发的案由。那真是2个“两面神”啊!以此时之心观此刻之景,自然是“可乐”的,不过以今后之心看此刻之景,则又是“悲痛”的。此刻的景并没有变动,变化的则是大家对此生命的千姿百态与了解。

public DataTable GetAlipayNotifyRecords(AlipayPaymentStatus status, params string[] trade_no)
{
    string sql = @"select * from T_AlipayNotityRecord where trade_status=@trade_status and trade_no in(@trade_no)";
    //string inValue = "'" + string.Join("','", trade_no) + "'";//= string.Join(",", trade_no)
    string inValue = "";
    trade_no.ToList().ForEach(no => inValue += " union all select '" + no+"'");
    inValue = inValue.Substring(" union all".Length);
    List<SqlParameter> paramList = new List<SqlParameter>()
        {
             new SqlParameter("@trade_status",status.ToString()), 
             new SqlParameter("@trade_no",inValue),
        };
    var ds = SqlHelper.SqlDataSet(ConfigFile.PayCenterConnection, sql, CommandType.Text, paramList.ToArray());
    if (ds == null || ds.Tables.Count == 0)
        return null;
    return ds.Tables[0];
}

然而,王羲之那样才情飞扬的人,自然是不会就此下马自身想想的步伐的,他进而说:

public DataTable GetAlipayNotifyRecords(AlipayPaymentStatus status, params string[] trade_no)
{
    string sql = @"select * from T_AlipayNotityRecord where trade_status=@trade_status and ({0})";

    List<SqlParameter> paramList = new List<SqlParameter>()
        {
             new SqlParameter("@trade_status",status.ToString()), 
        };
    string sql1 = "";
    for (int i=0;i<trade_no.Length;i++)
    {
        sql1 += " or trade_no=@no" + i;
        paramList.Add(new SqlParameter("@no" + i, trade_no[i]));
    }
    sql = string.Format(sql, sql1.Substring(" or ".Length));

    var ds = SqlHelper.SqlDataSet(ConfigFile.PayCenterConnection, sql, CommandType.Text, paramList.ToArray());
    if (ds == null || ds.Tables.Count == 0)
        return null;
    return ds.Tables[0];
}

在此处,王羲之不可以领悟的不是弹指间与固定的争辨,而是那样的顶牛已经被人们发现,却一次又一遍在此间生发感慨。“不或者喻之于怀”的,不是理所当然美好生命短暂的顶牛,而是人们一连一而再地揭橥这样的冲突,“若合一契”。在这么的一而再屡次三番的惊讶中,王羲之发现谈玄说法,以“一死生”、“齐彭殇”来欺骗自个儿,其实是做不到的,而且这么的惊叹,不仅前几日会发生,今后还会没完没了地发生,想想人类的那种宿命,自然悲从中来,2个“悲夫”里面,有微微感慨在中间啊!那里原稿是“也”字,后改为“夫”,从语气词的角度去商讨,会发现古人对于语气词的神气达意作用有多么关心。

怎么做呢?  首先想到的是对参数做处理:

“暮春之初”,纵然只是对于时序的讲述,不过那恰好是我全体情怀的触发点。暮春时令,是小说家最简单感怀伤时的时节。落花飘零是很简单吸引多情者的哀伤的,那很不难领会,不过暮春之初,则如此落花飘零之相尚未突显,可是敏感者已经可以预知那样的风貌的爆发了。这种未来前景的时令,其实是最有关昊也最具审美的意义的。而王羲之身处的环境,则是崇山峻岭之、茂林修竹,清流急湍映带左右,那是本来山水之美;身边则是群贤毕至、少长咸集,那是人物之美,而那时正在天朗气清、惠风和畅之时,则是气象之美。古人所谓良辰美景、赏心乐事目前俱在,自然是“信可乐也”。这一个“信”字,是一种诚心地歌颂,但还要密切品尝,你也足以窥见,“信”字的多义性,间接促成了一种神秘的中转的效应。那一个“信”字,既收煞上文,实际上也就引出了下文的慨叹了。

话说,项目里多少访问层,好多都以拼的sql,那给sql注入提供了可乘之机,为了系统安全,决定在个其他时间内,将它改成参数化。

而自作者的确觉得感慨良多的是尤其“故”字。想一想,昔人兴感,今人嗟悼,今人嗟悼,后人兴叹,就像是三个海阔天空的巡回,可是尽管如此,王羲之依然要“列叙时人,录其所述”——因为,记录自身就是对此这么的人类宿命的反抗。那很像西绪弗斯的苦役,当推石上山被视作一种不得逭逃的运气,那只可以证实人类的甩掉与屈服,然而当她把推石上山看作自个儿积极的选项的时候,则反映出了对命局的反抗,更何况,文人两回又两次地揭橥那种生命短暂与自然无穷之间的龃龉,其实就是在岁月奔腾的涛澜上五回又三四处挥毫“不甘心”,从没有甩掉。那就是一种对于时局的反抗了,人类也就因为那样的对抗而了得到了本身的意思。甚至可以说,人类的万事含义就在于那种对抗。

 

王羲之的字,在许多人眼里,仍然流丽温婉的,不过,昔梁武帝评论王羲之的字却是“龙跳天门,虎卧凤阙”。这一年差不多每一日临习《怀仁集圣教序》还有孙过庭的《书谱》,虽说二个是集字,1个进一步在明亮王字基础上的行文,但都以公认的王字法流,临习日深,越可以感受到王字背后的雄强之气,真的当得起“龙跳天门,虎卧凤阙”那多个字。

按那样的规律往下想,只好是将单号分开来传递给sql了。那么正好sql的in能够通过如下两种方法等效已毕:

在描述了时序、事由、人物和条件之后,我由衷地发生了“信可乐也”的感慨。而在惊讶了人生苦短之后,王羲之有了“岂不痛哉”的慨叹。而当发现这么的生命之痛,不仅设有于当下,而且是古往今来不变的宿命的时候,他直接发生了“悲夫”的感慨。可是,那样的殷殷里,却拥有极为深远的反抗性,那是《爱晚亭集序》最为高尚的地点。

本人手头有个古老的品种,持久层用的是古旧的ADO.net。前两日去内罗毕出境游,其中的二个青山绿水是广西民族村,通过导游介绍知道了二个古老的部族——土族,“基”在这些族内代表舅舅,“Gino”意为“跟在舅舅后面”,加以引申即为“敬重舅舅的中华民族”,很有趣吗,那是小编国最终2个被发现并确认下来的少数民族,即第四十五个民族。
 项目里的ado.net和布依族一样古老。

理所当然,那种忧伤的感慨,然而是那时万世师表:“逝者如斯夫不舍昼夜”具体化而已。小编平时对幼儿们说,孔圣人是汉民族的知识大侠,之所以如此说,是因为他偶尔的确只是用只言片语就规划了上上下下中华民族的盘算的范式与精神走向。所以,假诺王羲之只是写到那里就一噎止餐,也但是是将3个文化母题具体化、情景化而已,即便很美,可是却从没出现更长远的大旨,作品自然会来得相对平庸一些。

这就是说,难题来了,因为sql里有in, 而 in(@no)的法门是低效的。

大家说王羲之的“雄强”,其实就显以后那里。明明代楚那是一件忧伤的业务,然则照旧那样去做,而且也愿意那样的竭力世世代代一而再下去。——有时候想想,也真的为执拗倔强的人类本人感到骄傲。于是想到了一月天的歌词“作者和自家最终的倔强握紧双臂相对不放”。

正如代码是比照后者的思路化解了那么些标题:

由字及文,不妨再来谈一谈王羲之的《沉香亭集序》(以前写过一篇《迷之感伤话兰亭》)。固然沿着他书法中“雄强”的角度再去看那篇文字,或者就会有更加多新的观点了。

select * from T_AlipayNotityRecord where trade_status=@trade_status and trade_no in(@no0,@no1,...)
public DataTable GetAlipayNotifyRecords(AlipayPaymentStatus status, params string[] trade_no)

【续】方法总比难点多

民族 1

—–2016-12-13 09:39:32

那样子生成的sql就很直观了。比上边方案的还简要。

 

明天清早刷牙时,灵光一现,对于前些天的方案,不须要经过借助or或union的主意来更改sql的in了,即,可以间接生成如下的sql语句:

经测试,无效。经分析可知,sqlhelper会把你参数值当成字符串,不会对其做转义。所以,不管怎么对参数值处理,都还是一串字符串。

public DataTable GetAlipayNotifyRecords(AlipayPaymentStatus status, params string[] trade_no)
{
    string sql = @"select * from T_AlipayNotityRecord where trade_status=@trade_status and trade_no in({0})";

    List<SqlParameter> paramList = new List<SqlParameter>()
{
        new SqlParameter("@trade_status",status.ToString()), 
};
    string sql1 = "";
    for (int i = 0; i < trade_no.Length; i++)
    {
        sql1 += ",@no" + i;
        paramList.Add(new SqlParameter("@no" + i, trade_no[i]));
    }
    sql = string.Format(sql, sql1.Substring(",".Length));

    var ds = SqlHelper.SqlDataSet(ConfigFile.PayCenterConnection, sql, CommandType.Text, paramList.ToArray());
    if (ds == null || ds.Tables.Count == 0)
        return null;
    return ds.Tables[0];
}


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图