更改语言环境后出现错误“无法对System.DateTime和System.String执行'='操作。”

时间:2012-09-19 06:57:54

标签: localization datatable

我们有一个Windows基础应用程序,我的客户端也需要使用意大利语。当我将区域设置更改为意大利并运行程序时,我收到以下错误消息。 “无法对System.DateTime和System.String执行'='操作。” 谁可以帮我这个事? 代码如下。

      DataTable dt = new DataTable();
      dt.Columns.Add("Date",Type.GetType("System.DateTime"));

      TimeSpan t = new TimeSpan(1, 0, 0);

        DateTime d = System.DateTime.Now;
        for (int i = 0; i < 100; i++)
        {
            DataRow dr = dt.NewRow();
            dr["Date"] = d.ToShortDateString();
            dt.Rows.Add(dr);
            d = d.AddDays(1.0);
        }

        DataRow[] dataRowArray = dt.Select("Date ="'8/31/2012'");

1 个答案:

答案 0 :(得分:1)

首先,它不应该是dt.Select("Date ='8/31/2012'");吗? (请注意,我删除了"

其次,"8/31/2012"来自哪里?这不是意大利的有效日期,因此您需要正确("31/8/2012"),然后才能正常工作。

换句话说,如果它来自数据库,那么你必须在进行比较之前进行语言环境转换。