Я был счастлив кодировать мое приложение, и я столкнулся с этой проблемой, которая меня немного пугала.C# OdbcDataReader или DataTable.Load column name issue
У меня есть файл SQLite db, и когда я пытаюсь прочитать таблицу с помощью OdcbDataReader и загружать ее в таблицу с помощью DataTable.Load, я получаю разные результаты по имени столбца в зависимости от приложения, над которым я работаю.
Иногда он возвращает имя_таблицы.column_name и иногда возвращает только column_name.
Код только это:
public DataTable GetTable(string table_name)
{
table = null;
if (conn_str != null)
{
try
{
using (OdbcConnection conn = new OdbcConnection(conn_str.ToString()))
{
StringBuilder query = new StringBuilder();
query.Append("SELECT * ");
query.Append("FROM [");
query.Append(table_name + "]");
using (OdbcCommand cmd = new OdbcCommand(query.ToString(), conn))
{
conn.Open();
table = new DataTable();
using (OdbcDataReader dr = cmd.ExecuteReader())
{
DataSet ds = new DataSet();
ds.EnforceConstraints = false;
ds.Tables.Add(table);
table.Load(dr);
}
}
}
}
catch (Exception ex)
{
Debug.Print(ex.Message);
table = null;
}
}
return table;
}
Строка соединения используется точно такая же:
"Driver = {SQLite3 Драйвер ODBC}; БАЗА ДАННЫХ = databesename.db3;"
Любые идеи, почему это происходит?