如3条数据:
张三 20 北京
李四 21 西安
王五 18 长沙除数据库外,用什么格式保存?怎么保存?怎么写增、删、改、查方法代码?
需要代码,谢谢!
张三 20 北京
李四 21 西安
王五 18 长沙除数据库外,用什么格式保存?怎么保存?怎么写增、删、改、查方法代码?
需要代码,谢谢!
解决方案 »
- postback后页面布局被打乱怎么回事?
- C# backgroundWorker停不了了,backgroundWorker +串口
- 问一个正则表达式问题,替换table标签
- Excel2003数据导入到DataGrideView总是出错!!请大家帮我看看
- 怎么把两个DataTable里的数据揉合在一个DataTable里,并同时并把原来两个表里的数据在新表里做一个随机排序?
- a=2时,抛出一个异常怎么做?(急)
- 大侠们帮我看看
- 重写窗体最小化事件,有点小问题!
- 大家帮忙看看这段代码,我看不懂。。。
- 本人FTP正式开张,欢迎大家光临,觉得好的帮忙UP
- C#中串口通信方面的问题
- 固定横纵比例播放视频
操作代码网上搜下,有的是
方法2:使用csv文件操作。
方法3:使用xml操作。
参考
http://www.cnblogs.com/pbwf/archive/2006/03/31/363891.html
http://www.cnblogs.com/lingyun_k/archive/2005/11/07/271068.html
dataset load from xml
代码如下
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.IO;
namespace masdate
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
} [DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
public static string IniReadValue(string Section, string Key, string filepath)//对ini文件进行读操作的函数
{
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfileString(Section, Key, "", temp, 255, filepath);
return temp.ToString();
}
public static void IniWriteValue(string Section, string Key, string Value, string filepath)//对ini文件进行写操作的函数
{
WritePrivateProfileString(Section, Key, Value, filepath);
}
private void button1_Click_1(object sender, EventArgs e)
{
try
{
IniWriteValue("Database", "server", textBox1.Text, Application.StartupPath + "\\config.ini");
IniWriteValue("Database", "db", textBox2.Text, Application.StartupPath + "\\config.ini");
IniWriteValue("Database", "user", textBox3.Text, Application.StartupPath + "\\config.ini");
IniWriteValue("Database", "pass", textBox4.Text, Application.StartupPath + "\\config.ini");
IniWriteValue("Database", "server1", textBox8.Text, Application.StartupPath + "\\config.ini");
IniWriteValue("Database", "db1", textBox7.Text, Application.StartupPath + "\\config.ini");
IniWriteValue("Database", "user1", textBox6.Text, Application.StartupPath + "\\config.ini");
IniWriteValue("Database", "pass1", textBox5.Text, Application.StartupPath + "\\config.ini");
MessageBox.Show("修改成功,重新启动软件才能使设置生效!!");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
} private void Form2_Load_1(object sender, EventArgs e)
{
textBox1.Text = IniReadValue("Database", "server", Application.StartupPath + "\\config.ini");
textBox2.Text = IniReadValue("Database", "db", Application.StartupPath + "\\config.ini");
textBox3.Text = IniReadValue("Database", "user", Application.StartupPath + "\\config.ini");
textBox4.Text = IniReadValue("Database", "pass", Application.StartupPath + "\\config.ini");
textBox8.Text = IniReadValue("Database", "server1", Application.StartupPath + "\\config.ini");
textBox7.Text = IniReadValue("Database", "db1", Application.StartupPath + "\\config.ini");
textBox6.Text = IniReadValue("Database", "user1", Application.StartupPath + "\\config.ini");
textBox5.Text = IniReadValue("Database", "pass1", Application.StartupPath + "\\config.ini");
} private void button2_Click_1(object sender, EventArgs e)
{
this.Close();
}
}
}
[row]
count = n
[row1]
cell=...
....
...
[rown]
....
想咋整就咋整,呵呵
这个问题有什么意义
text就一般般了。
[Serializable]
public class Db
{
private IList<MyDataInfo> m_List = new List<MyDataInfo>();
public IList<MyDataInfo> List { get { return m_List; } set { m_List = value; } }
/// <summary>
/// 保存信息
/// </summary>
/// <param name="p_FileName">文件名称</param>
public void SeveFile(string p_FileName)
{
FileStream _FileStream = new FileStream(p_FileName, System.IO.FileMode.Create); BinaryFormatter _Formatter = new BinaryFormatter();
_Formatter.Serialize(_FileStream, this); _FileStream.Close(); }
/// <summary>
/// 获取信息
/// </summary>
/// <param name="p_FileName">文件名称</param>
public Db LoadFile(string p_FileName)
{
if (File.Exists(p_FileName) == false) return new Db();
try
{
BinaryFormatter _Formatter = new BinaryFormatter();
FileStream _Stream = new FileStream(p_FileName, FileMode.Open);
return (Db)_Formatter.Deserialize(_Stream);
}
catch
{
return new SelectModel();
}
}
[Serializable]
public class MyDataInfo
{
public string m_Name = "";
public string m_Numb = "";
public string m_Add = "";
}
}
使用序列化的方式~~~
DataTable好像没怎么用过,一直用的DataGridView,读取XML放到DGV里面,维护能行么?
很容易的,为一个程序看一本XML书也不一定能写出来。
UP XML!
用文本操作感觉比较烦琐....个人认为。
不信你搞个100M,从中间删2条试一下,慢死你。最好还是用定长记录二进制,随机访问、删除都很快。DBASE/FOXPRO就是这么做的