我查询数据的时候  报错  FormatException     类型转换问题  但是我找不出哪里出错了。哪位牛B的大神能帮帮忙
SQL语句什么的都没什么问题。
  /// <summary>
        /// 执行查询语句,返回DataSet
        /// </summary>
        /// <param name="SQLString">查询语句</param>
        /// <returns>DataSet</returns>
        public static DataSet Query(string SQLString)
        {
            using ( SQLiteConnection connection = new SQLiteConnection(connectionString))
            {
                DataSet ds = new DataSet();
                try
                {
                    connection.Open();
                    SQLiteDataAdapter command = new SQLiteDataAdapter(SQLString, connection);
                    //在下边行代码就会出错 这是为什么啊 。
                    command.Fill(ds);
                }
                catch (SQLiteException ex)
                {
                    throw new Exception(ex.Message);
                }
                return ds;
            }
        }

解决方案 »

  1.   

    没用过SQLite,如果自己确认能连接上数据库,看看检索语句是否正确?
      

  2.   

    FormatException这一个一般是遇到无法转换的字符串才出错的~~~~~
      

  3.   


    应该不是这个问题~~~~~~~~~以前用Oracle的时候因为用的时间格式和SQL不同见过一次这个错误,没用过SQLite,不知道它的时间格式是否和.NET相同。
    如果时间格式不同的话在转换为DataSet数据表的时间类型时可能会遇到转换错误
      

  4.   

    LZ你看看你的数据库是否有时间或者其他字段和SQL不同的,如果有的话备份一下表,然后将表中的时间字段删除试试看能否解决问题。TimZhuFaith大哥说的comm.Fill(ds,"tablename")给你的DataSet数据集的表起了个名字,应该解决不了问题。
      

  5.   

    以为和sqlconnection类似。。我也没用过!
      

  6.   

    Oracle   用的 to_date     sqllite  用的是datetime我这个程序  就2个查询不好使  其余的查询都好用啊。如果是时间问题的话其余的夜不能用吧。另外我还看了数据库  发现类型 什么的跟能查出来的一样。我很郁闷 这是为什么啊!!!
      

  7.   

    是我的同事以前 做数据导入的时候倒错了sqllite  的date  是可以插入string 类型的。
    但是 dateset  读的时间类型 是不能转换成  datetime 类型的。所以就会抱错。