gpt4 book ai didi

c#-4.0 - 将DataTable数据存储在硬盘中

转载 作者:行者123 更新时间:2023-12-02 21:39:51 26 4
gpt4 key购买 nike

是否可以将数据存储在硬盘中的DataTable中而不是内存?默认情况下,当填充数据表时,该表(和数据)将保留在内存中。是否可以将这些数据保存在除了内存之外还有其他介质吗?一切都会保持不变,但是我不会通过将其存储在内存中来填充数据表,而是将其存储在硬盘驱动器中的某个位置。

最佳答案

System.Data.DataTable 实现了 ISerialized,所以这没什么大不了的挑战:以下示例使用二进制序列化

使用 System.Runtime.Serialization.Formatters.Binary;

[...]

//Create DataTable and Serialize
private void button1_Click(object sender, System.EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("uid");
dt.Columns.Add("test");

for (int i = 0; i < 10; i++)
{
DataRow dr = dt.NewRow();
dr[0] = i;
dr[1] = string.Format("test{0}", i);
dt.Rows.Add(dr);
}

FileStream fs = new FileStream(@"C:\test.bin", FileMode.Create);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, dt);
fs.Close();
}

//Deserialize DataTable from File
private void button2_Click(object sender, System.EventArgs e)
{
FileStream fs = new FileStream(@"C:\test.bin", FileMode.Open);
BinaryFormatter bf = new BinaryFormatter();
DataTable dt = (DataTable) bf.Deserialize(fs);
fs.Close();

foreach (DataRow dr in dt.Rows)
{
Debug.WriteLine(dr[0].ToString());
}
}

关于c#-4.0 - 将DataTable数据存储在硬盘中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23429469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com