由于需要,现写了两套程序,MFC及C#各一套,程序是可配置的。在对某一项进行验证时,是通过sql语句验证的,现在碰到一个问题,C#里面格式化字符串时的参数为{0},而且C++里面是%s.两者不通用,有没有什么方法可以使两者兼容?格式化

解决方案 »

  1.   

    用C++写成一个dll,然后C#调用,接口对外都是统一的
      

  2.   


    如:字段内容为 "select * from t1 where f1 = '%s'", 在程序里面,先把这部分内容取出来,然后再放到类似string.FormatString里面,和程序中输入的参数拼接起来。那如果是C#, 字段里面的内容可能就是  "select * from t1 where f1 = '{0}'" 了
      

  3.   

    你的话我都明白。你的这种SQL语句根本不应该放到数据库中,应该放在应用程序中,这样才好控制。可以将程序中赋值之后的这种SQL语句放到数据库中,那就可以通用了,因为用的都是数据库的标准语句。
      

  4.   


    把sql语句放到数据库中是为了以后扩展方便,因为一个字段目前可能是通过一个表得到,不排除以后通过几张表联合查询出来。如果放到应用程序中,确实很好控制,但是后期的扩展怎么处理?去改代码?