少量数据如何保存

LoveFishLoveYu 2010-03-29 03:56:16
如何保存少量数据(不使用数据库),使输入 listBox1 中的内容不致于在软件关闭后被清零。
...全文
138 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongxiangyun 2010-03-29
  • 打赏
  • 举报
回复
少量数据,我们可以使用文件流的形式进行少量数据的保存。也可以存放在临时数据库中。
LoveFishLoveYu 2010-03-29
  • 打赏
  • 举报
回复
存取一个小数据,有必要用如此复杂的代码吗?最简单的才是最好的。
wangxianshou 2010-03-29
  • 打赏
  • 举报
回复
前面 属性 和 索引器 我写串了~~
wangxianshou 2010-03-29
  • 打赏
  • 举报
回复

using System;

namespace ClassStudy
{
/// <summary>
/// MaterialGroup の概要の説明です。
/// </summary>
[Serializable]
public class MaterialGroup
{
public MaterialGroup()
{
//
// TODO: コンストラクタ ロジックをここに追加してください。
//
}
private string _CenterCD;
private string _LineCD;
private string _MaterialGroupCD;
private string _MaterialGroupName;


public static string Money=string.Empty;

private static string _Money1=string.Empty;
public static string Money1
{
get
{
return this._Money1;
}
set
{
this._Money1=value;
}

}
public string Money2=string.Empty;

private string _Money3=string.Empty;
public string Money3
{
get
{
return this._Money3;
}
set
{
this._Money3=value;
}

}


public struct MyMaterialGroup
{
public string strCenterCD;
public string strLineCD;
public string strMaterialGroupCD;
public string strMaterialGroupName;
}




public string CenterCD
{
get
{
return this._CenterCD;
}
set
{
this._CenterCD=value;
}
}
public string LineCD
{
get
{
return this._LineCD;
}
set
{
this._LineCD=value;
}
}
public string MaterialGroupCD
{
get
{
return this._MaterialGroupCD;

}
set
{
this._MaterialGroupCD=value;

}
}
public string MaterialGroupName
{
get
{
return this._MaterialGroupName;

}
set
{
this._MaterialGroupName=value;
}
}
public string this[int i]
{
get
{
switch(i)
{
case 0:
return this._CenterCD;
case 1:
return this._LineCD;
case 2:
return this._MaterialGroupCD;
case 3:
return this._MaterialGroupName;
default:
throw new IndexOutOfRangeException("範囲");
}

}
set
{
switch(i)
{
case 0:
this._CenterCD=value;break;
case 1:
this._LineCD=value;break;
case 2:
this._MaterialGroupCD=value;break;
case 3:
this._MaterialGroupName=value;break;
default:
throw new IndexOutOfRangeException("範囲");
}
}
}
}
}

wangxianshou 2010-03-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 leafold 的回复:]
序列化
[/Quote]
先添加命名空间
序列化保存


MaterialGroup obj = new MaterialGroup();
obj.CenterCD="32";
obj.LineCD="24";
obj.MaterialGroupCD="2824510000092";
obj.MaterialGroupName="序列化";
IFormatter formatter = new BinaryFormatter();
// SoapFormatter formatter = new SoapFormatter();
Stream stream = new FileStream("MaterialGroup.xml", FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
formatter.Serialize(stream, obj);
stream.Close();

再反序列化拿出来


IFormatter formatter = new BinaryFormatter();
// SoapFormatter formatter = new SoapFormatter();

Stream stream = new FileStream("MaterialGroup.xml", FileMode.Open, FileAccess.Read, FileShare.Read);
MaterialGroup obj = (MaterialGroup) formatter.Deserialize(stream);
stream.Close();
this.textBox4.Text+="反序列化"+obj[0]+obj[1]+obj[2]+obj[3];
zyj_604 2010-03-29
  • 打赏
  • 举报
回复
序列化

或者写入到xml文件中
Calm2049 2010-03-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 deyter 的回复:]
顶楼上的,写入到txt,xml都方便
[/Quote]

同意
铛铛 2010-03-29
  • 打赏
  • 举报
回复
一样,我就想保存一个数字,不知道用什么方法好,.txt .xml好像太浪费了...
cyx1225 2010-03-29
  • 打赏
  • 举报
回复
TextBox 不像以前只有一行的…是可以N行啦… ListBox 类似的自己尝试写下就可以了 加入循环而已
LoveFishLoveYu 2010-03-29
  • 打赏
  • 举报
回复
其实很想用ListBox读写,TextBox不想用这个呀,都是一条条存入的。
cyx1225 2010-03-29
  • 打赏
  • 举报
回复


public void button1_Click(object sender, EventArgs e) //写
{
string fileName=@"D:\1.txt";//完整路径名
FileStream fs = new FileStream(fileName, FileMode.Create);
StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
sw.WriteLine(textBox1.Text);
sw.Flush();
sw.Close();
}

private void button2_Click(object sender, EventArgs e)//读
{
textBox1.Text = "";
string fileName = @"D:\1.txt";//完整路径名
FileStream fs = new FileStream(fileName, FileMode.Open);
StreamReader sr = new StreamReader(fs, Encoding.UTF8);
textBox1.Text = sr.ReadToEnd(); /*直接全部读出来
也可以选择用ReadLine 一行一行 看操作 这是教简单的读写深入可以查阅文件IO*/
sr.Close();
}
LoveFishLoveYu 2010-03-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 cyx1225 的回复:]
C# code

string fileName=@"D:\1.txt";//完整路径名
FileStream fs = new FileStream(fileName, FileMode.Create);
StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
……
[/Quote]
那读取呢,在listBox1中读取
zzxap 2010-03-29
  • 打赏
  • 举报
回复
json
cyx1225 2010-03-29
  • 打赏
  • 举报
回复

string fileName=@"D:\1.txt";//完整路径名
FileStream fs = new FileStream(fileName, FileMode.Create);
StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
sw.WriteLine(textBox1.Text);
sw.Flush();
sw.Close();


简单来说就是这样写 一个创建文件 一个写入流
leafold 2010-03-29
  • 打赏
  • 举报
回复
序列化
herty 2010-03-29
  • 打赏
  • 举报
回复
用TXT INI xml access
deyter 2010-03-29
  • 打赏
  • 举报
回复
顶楼上的,写入到txt,xml都方便
cyx1225 2010-03-29
  • 打赏
  • 举报
回复
写入文件 IO…

110,572

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧