SQLite .Net 3.5 Provider将所有DataColumn作为System.Object返回

时间:2012-11-02 17:25:34

标签: .net sqlite

我有一个方法,它接受一个SQL字符串并从SQLite数据库返回一个DataTable对象。这很好用,但是当我查看DataTable中的DataColumns时,返回的DataType始终是“System.Object”。如何让它返回与SQLite匹配的相关DataType(例如,VARCHAR2 = System.String,BOOL = System.Boolean,....)。下面是我创建DataTable的代码。是否有一些额外的步骤,我可以得到,而无需硬编码适当的类型转换?

public DataTable                GetDataTable
(
string sql
)
{
    DataTable dt = new DataTable();
    try
    {
        openConnection();
        SQLiteCommand mycommand = new SQLiteCommand(m_cnn);
        mycommand.CommandText = sql;
        SQLiteDataReader reader = mycommand.ExecuteReader();
        dt.Load(reader);
        reader.Close();
        closeConnection();
    }
    catch (Exception e)
    {
        throw new DatabaseException(DatabaseException.DatabaseExceptionTypes.GetDataTable,e);
    }
    return dt;
    enter code here

0 个答案:

没有答案