This is my code which works fine untill my database have no more than about 20000 records in main table. When DB is to big program freezes at statement da.Fill(data). There are no exceptions throw, program just stops working. What can I do?
DataTable data = new DataTable();
SqlCeCommand cmd = new SqlCeCommand();
SqlCeDataAdapter da = new SqlCeDataAdapter();
cmd = new SqlCeCommand("SELECT DISTINCT * FROM ((Osoba AS a LEFT OUTER JOIN Doswiadczenie AS b ON a.HashId = b.Hashid) LEFT OUTER JOIN Wyksztalcenie AS c on a.HashId = c.HashId) INNER JOIN Uczelnia as d ON c.UczelniaId = d.UczelniaId WHERE a.DataOstOdczytu >= @minDate AND a.DataOstOdczytu <= @maxDate AND b.DataOdczytu >= @minDate AND b.DataOdczytu <= @maxDate AND c.DataOdczytu >= @minDate AND c.DataOdczytu <= @maxDate", this.Connection);
cmd.Parameters.Add(new SqlCeParameter("@minDate", minDate));
cmd.Parameters.Add(new SqlCeParameter("@maxDate", maxDate));
da.SelectCommand = cmd;
try
{
da.Fill(data);
}
catch (System.Data.SqlServerCe.SqlCeException)
{
throw;
}
return data;