string fileName = Chart.GenerateDataBaseFileName(DateTime.Now);
//Прочитать данные из файла, записать в DataSet.
try
{
using (Stream s = File.Open(fileName, FileMode.OpenOrCreate)) dataSet_base.ReadXml(s);
} catch { }
//Записать в DataSet текущие показатели датчиков.
try
{
dataSet_base.Tables[0].Rows.Add
(
DateTime.Now.ToString("t"),
KND_2.StateSensors.Tsens, KND_2.StateSensors.Psens,
);
}
catch
{
MainWindow.AddStringToLogFile("Ошибка в сборе данных.");
}
//Записать полученные данные в файл.
using (Stream s = File.Create(fileName)) try { dataSet_base.WriteXml(s); } catch { };
//Прочитать данные из файла filePath, записать в dataSetObj.
//Вернет false, если словит исключение.
private bool ReadXmlFromStream(ref DataSet dataSetObj, string filePath)
{
//Очистить данные, оставшиеся с предыдущей записи.
dataSetObj.Clear();
//Прочитать данные из файла, записать в DataSet.
try
{
using Stream stream = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
dataSetObj.ReadXml(stream);
stream.Dispose();
}
catch
{
Console.WriteLine("catch ReadXmlFromStream");
return false;
}
return true;
}
string fileName = Chart.GenerateDataBaseFileName(DateTime.Now);
//Прочитать данные из файла, записать в DataSet.
Stream readStream = null;
try
{
readStream = File.Open(fileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read);
dataSet_base.ReadXml(readStream);
}
catch (Exception ex)
{
MainWindow.AddStringToLogFile("Ошибка чтения базы " + ex.GetType() + " " + ex.Message);
}
finally
{
readStream?.Dispose();
}
//Записать в DataSet текущие показатели датчиков.
try
{
dataSet_base.Tables[0].Rows.Add
(
DateTime.Now.ToString("t"),
KND_2.StateSensors.Tsens, KND_2.StateSensors.Psens
);
}
catch
{
MainWindow.AddStringToLogFile("Ошибка в сборе данных.");
}
//Записать полученные данные в файл.
Stream writeStream = null;
try
{
writeStream = File.Create(fileName);
dataSet_base.WriteXml(writeStream);
}
catch (Exception ex)
{
MainWindow.AddStringToLogFile("Ошибка записи базы " + ex.GetType() + " " + ex.Message);
}
finally
{
writeStream?.Dispose();
}
//Сохранить настройки окна (все чекбоксы, настройки, выборы.)
SaveDataSC(null, null);
private bool ReadXmlFromStream(ref DataSet dataSetObj, string filePath)
{
//Очистить данные, оставшиеся с предыдущей записи.
dataSetObj.Clear();
//Прочитать данные из файла, записать в DataSet.
Stream stream = null;
try
{
stream = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.Read | FileShare.Write | FileShare.ReadWrite | FileShare.Delete);
dataSetObj.ReadXml(stream);
}
catch(Exception ex)
{
stream?.Dispose();
Console.WriteLine("catch {0} {1} {2}", DateTime.Now.ToString("G"), ex.GetType(), ex.Message);
return false;
}
finally
{
stream?.Dispose();
}
return true;
}
using Stream stream = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);