OdbcConnection将DATE列转换为STRING?

时间:2014-07-07 22:51:56

标签: c# sql-server odbc

更新:OdbcConnection会发生这种情况,但SqlConnection会消失。有没有办法阅读"日期"通过OdbcConnection?

我有一个带有" date"的Sql Server数据库表。和"日期时间"柱。每当我使用C#ODBC时,它都会将Date列作为字符串返回。但我宁愿它将Date作为DateTime返回。有没有办法让这种情况发生?

 string sql = "select dateColumn, dateTimeColumn from Test_Table";
 string dsn = "Driver={SQL Server};Server={...};Database=...;Trusted_Connection=True;";
 using (OdbcConnection conn = new OdbcConnection(ConfigManager.GetLoansDatabaseDSN()))
 {
         conn.Open();
         OdbcCommand command = new OdbcCommand()
         {
             Connection = conn,
             CommandText = sql
         };
         using (OdbcDataAdapter adapter = new OdbcDataAdapter(command))
         {
             DataSet ds = new DataSet();
             adapter.Fill(ds);
             DataTable table = ds.Tables[0];
             //The type of "dateColumn" is now string not DateTime
          }
  }

1 个答案:

答案 0 :(得分:0)

两种方式之一。

  1. 将dateColumn转换为DateTime
    1. string sql = "select Convert(DateTime, dateColumn) as dateColumn, dateTimeColumn from Test_Table";
  2. 手动构建DataTable以包含列类型。