急~~如何使用txt文件做winform程序的数据库????

不懂装懂 2009-12-17 01:14:09
想用txt文件作为数据库存储用户信息,但是不知道怎么弄..??请教各位大大!!!!!!!!!
例如用户信息包括ID password realname三个字段,我应该如何从程序打开读取txt文件的内容??
...全文
172 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiao_run 2009-12-17
  • 打赏
  • 举报
回复
我般用txt做为数据库时,都是用文件的读流,或写流
mjp1234airen4385 2009-12-17
  • 打赏
  • 举报
回复
我的文件比较小,以上是单线程处理。
多线程处理的,楼主可以按结构体大小分割文件为几大块,
每个线程读取一块数据。

还可以做一个索引文件。

一种类型的数据写成一个文件。
mjp1234airen4385 2009-12-17
  • 打赏
  • 举报
回复
可以使用记录文件来处理。
各个字段都定义为byte型的数组。
在1G的数据范围内,使用多线程来处理。
速度还是可以接收的。

以下是一个新增数据写文件的例子:

public bool WriteSMessage(string fileName, SMessage sMessage)
{
bool Result = false;
if (sMessage == null) return Result;
try
{
using (FileStream fileStream = File.Open(fileName, FileMode.OpenOrCreate))
{
if (null != fileStream)
{
byte[] bID = new byte[SMessage.MAX_ID];
string StrTemp = null;
if (fileStream.Length > 0)
{
fileStream.Seek(-SMessage.SMSIZE, SeekOrigin.End);
fileStream.Read(bID, 0, bID.Length);
StrTemp = Encoding.Default.GetString(bID, 0, bID.Length);
}
if (null == StrTemp || "" == StrTemp || 0 == StrTemp[0]) StrTemp = "0".PadLeft(SMessage.MAX_ID, '0');
StrTemp = (int.Parse(StrTemp) + 1).ToString().PadLeft(SMessage.MAX_ID, '0');
fileStream.Seek(0, SeekOrigin.End);
sMessage.ID = Encoding.Default.GetBytes(StrTemp);
fileStream.Write(sMessage.ID, 0, sMessage.ID.Length);
fileStream.Write(sMessage.Time, 0, sMessage.Time.Length);
fileStream.Flush();
Result = true;
}
}
}
catch{ Result = false; }
return Result;
}
zhounet 2009-12-17
  • 打赏
  • 举报
回复
用StreamRead读出后,进行字符串的符号分拆来获得信息.
hhc123 2009-12-17
  • 打赏
  • 举报
回复
FileStream fs=new FileStream(path);
StreamRead sr=new StreamRead(fs);

我一般是用这样去读的
  • 打赏
  • 举报
回复
xml + xquery
wartim 2009-12-17
  • 打赏
  • 举报
回复
String S=System.IO.File.ReadAllText("filename");

然后根据自己的规则分解吧
hhc123 2009-12-17
  • 打赏
  • 举报
回复
为什么要用txt啊?
access sql xml 。。。。这么多你偏偏要用文本文件
mzy939216 2009-12-17
  • 打赏
  • 举报
回复
txt的确不太好,建议用xml
nashina 2009-12-17
  • 打赏
  • 举报
回复
用csv格式吧,txt的存储方式,操作效率高,但是处理起来比txt方便
深海之蓝 2009-12-17
  • 打赏
  • 举报
回复
用xml吧
wjq 2009-12-17
  • 打赏
  • 举报
回复
oledb有txt的驱动~

连接串如下:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;Extended Properties="text;HDR=Yes;FMT=Delimited";
XUXU_dragon 2009-12-17
  • 打赏
  • 举报
回复
关注!

111,120

社区成员

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

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

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