问题1:    {0;p}显示例如:20.00% ,这样让它显示成20%   或20.00000%之类的?--问题2:    在SqlDataSource中‘指定自定义SQL语句或存储过程’中我写了一段代码(非‘指定来自图或表的列’): select * from contracttable 
WHERE (ISNULL(@contractnumber, N'') = '未选择' OR ISNULL(ContractNumber, N'') LIKE '%' + @contractnumber + '%') AND (ISNULL(@contracttype, N'') = '未选择' OR Contracttype = @contracttype) ORDER BY contractnumber
 
    --但是一点查询生成器,就变成了 select * from contracttable
 WHERE (ISNULL(@contractnumber, N'') = '未选择' OR ISNULL(ContractNumber, N'') LIKE '%' + @contractnumber + '%') AND (ISNULL(@contracttype, N'') = '未选择') OR (ISNULL(@contractnumber, N'') = '未选择' OR ISNULL(ContractNumber, N'') LIKE '%' + @contractnumber + '%') AND (ContractType = @contracttype) ORDER BY 合同编号
 
--------我似乎没写错什么地方啊,而且可以正常使用!为什么查询生成器会给我的代码 添加了一些内容呢???--期待您的解答!谢谢!

解决方案 »

  1.   

    把你order by 后面的列名都改了,我也不理解这是怎么了...
      

  2.   

        确实啊! 不但代码增加了,而且order by contractnumber 也变成了 order by 合同编号 !我只要设置两个变量contractnumber和contracttype的control属性啊?真的很奇怪。
    --
        如果只有一个变量
    select * from contracttable  
    WHERE (ISNULL(@contractnumber, N'') = '未选择' OR ISNULL(ContractNumber, N'') LIKE '%' + @contractnumber + '%')
        就不会变!请各位帮忙解答啊!谢谢了
      

  3.   

                //以下两种写法均可
                Console.WriteLine (0.2.ToString("p0"));
                //20%
                Console.WriteLine(String.Format("{0:p5}", 0.2));
                //20.00000%