Когда я запускаю этот SQl в своем мобильном приложении, я получаю ноль строк.
select * from inventory WHERE [ITEMNUM] LIKE 'PUMP%' AND [LOCATION] = 'GARAGE'
Когда я запускаю тот же SQL в Query Analyzer 3.5, используя ту же базу данных, я получаю ожидаемую одну строку.
Почему разница?
Вот код, который я использую в мобильном приложении:
SqlCeCommand cmd = new SqlCeCommand(Query);
cmd.Connection = new SqlCeConnection("Data Source="+filePath+";Persist Security Info=False;");
DataTable tmpTable = new DataTable();
cmd.Connection.Open();
SqlCeDataReader tmpRdr = cmd.ExecuteReader();
if (tmpRdr.Read())
tmpTable.Load(tmpRdr);
tmpRdr.Close();
cmd.Connection.Close();
return tmpTable;
UPDATE:
Ради попытки я использовал код, найденный в одном из найденных ответов здесь , и он работает как положено. Итак, мой код выглядит так:
SqlCeConnection conn = new SqlCeConnection("Data Source=" + filePath + ";Persist Security Info=False;");
DataTable tmpTable = new DataTable();
SqlCeDataAdapter AD = new SqlCeDataAdapter(Query, conn);
AD.Fill(tmpTable);
Похоже, проблема связана с SqlCeDataReader.
Надеюсь, это поможет кому-то еще!