select count(*) from (select distinct A.do_objid from C_Work_ObjDo as A, C_Work_ObjDo as B where A.do_objid=B.do_objid and A.do_method='刑拘' and A.do_step < B.do_step and B.do_method='起诉' and A.do_time between '2004-2-1 0:00:00' and '2009-10-1 0:00:00' and B.do_time between '2004-2-1 0:00:00' and '2009-10-1 0:00:00') as T
我想用  StringBuilder strSql = new StringBuilder();
       StrSql.AppendFormat();
       StrSql.Append();这样的格式来实现上面的sql语句,请问怎么写啊??望大狭们指点~~

解决方案 »

  1.   

    select count(*) from (select distinct A.do_objid from C_Work_ObjDo as A, C_Work_ObjDo as B where A.do_objid=B.do_objid and A.do_method='{0}' and A.do_step < B.do_step and B.do_method='{1}' and A.do_time between {2} and {3} and B.do_time between {4} and {5}) as T ,"","","","","",""
      

  2.   


    MSDN参考:using System;
    using System.Text;
    using System.Globalization;class Sample 
    {
        static StringBuilder sb = new StringBuilder();    public static void Main() 
        {
        int    var1   = 111;
        float  var2   = 2.22F;
        string var3   = "abcd";
        object[] var4 = {3, 4.4, 'X'};    Console.WriteLine();
        Console.WriteLine("StringBuilder.AppendFormat method:");
        sb.AppendFormat("1) {0}", var1);
        Show(sb);
        sb.AppendFormat("2) {0}, {1}", var1, var2);
        Show(sb);
        sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3);
        Show(sb);
        sb.AppendFormat("4) {0}, {1}, {2}", var4);
        Show(sb);
        CultureInfo ci = new CultureInfo("es-ES", true);
        sb.AppendFormat(ci, "5) {0}", var2);
        Show(sb);
        }    public static void Show(StringBuilder sbs)
        {
        Console.WriteLine(sbs.ToString());
        sb.Length = 0;
        }
    }
    /*
    This example produces the following results:StringBuilder.AppendFormat method:
    1) 111
    2) 111, 2.22
    3) 111, 2.22, abcd
    4) 3, 4.4, X
    5) 2,22
    */ 
      

  3.   

     StrSql.AppendLine("select count(*)  ");
     StrSql.AppendLine("from (select distinct A.do_objid ");
     StrSql.AppendLine("from C_Work_ObjDo as A,");
      .
      .
      一直把你的SQl全部放倒里面去
    return StrSql.Tostring();不知道是不是楼主要的?
      

  4.   

    string var0 = "";
    string var1 = "";
    string var2 = "";
    string var3 = "";
    string var4 = "";
    string var5 = "";StringBuilder strSql = new StringBuilder(); StrSql.AppendFormat("select count(*) from (select distinct A.do_objid from C_Work_ObjDo as A, C_Work_ObjDo as B where A.do_objid=B.do_objid and A.do_method='{0}' and A.do_step < B.do_step and B.do_method='{1}' and A.do_time between {2} and {3} and B.do_time between {4} and {5}) as T",var0,var1, var2,var3, var4, var5); 一般不这么写吧,至少很少这么写的.常用直接传递参数SqlParameter @a,@b,@c (SqlParameter针对SQLSERVER),然后用strsql = "insert into tb(a,b,c) value (@a,@b,@c)"