目的:做一个密码管理工具; 思路:A、将所有的数据加密为一个数据文件,加载的时候解密后显示到DataGridView;          B、将字符串加密后存在XML节点里面,加载的时候再逐一读取并解密后显出来。 问题:如果使用A方案,加、解密函数如何写(需要返回数据集)?          如果使用B方案,逐一读取并解密字符串后,如何将解密后的字符串显示到DataGridView;   在线等.......... 

解决方案 »

  1.   

    我把节点的字符串读出来了,但就是不知道怎么把他写到datagridview里面。
                XmlTextReader reader = new XmlTextReader("userdata.xml");
                while (reader.Read())
                {
                    if (reader.Name == "ITEMS")
                    {
                        MessageBox.Show("OK", reader.ReadString());
                    }
                }
      

  2.   

    方法有很多了!
    可以把读出来的数据放到DataTable中,
    也可以把数据数据放到Array中,
    而后DataTable,或Array 作为dataGridView 的DataSource 就好了!
      

  3.   

    JustLovePro(嘉鑫) ,你的描述我不是很明白。有实例吗》?
      

  4.   

    我不是很熟,大致写一下,更多的请网上查
    using System.Data;private DataTable dt = new DataTable();DataRow dr;
    dt.Columns.Add(new DataColumn("ITEM", typeof(string)));XmlTextReader reader = new XmlTextReader("userdata.xml");
                while (reader.Read())
                {
                    if (reader.Name == "ITEMS")
                    {
                        //MessageBox.Show("OK", reader.ReadString());
                        dr = dt.NewRow();
                        dr[0] = reader.ReadString();
                        dt.Rows.Add(dr);
                    }
                }
    DataView dv = new DataView(dt);
    DataGrid.DataSource = dv;见笑了,不是很规范,参考一下吧,自身也在学习中
      

  5.   

    谢谢,lalaliu(啦啦).代码测试中......
      

  6.   

    请问一下,又如何将datagridview里面的每条字符串加密后写到XML文件呢?
      

  7.   

    TO:lalaliu(啦啦)      //如果我有N列的话,我有个循环,系统提示找不到列1;
                 DataRow dr;
                dt.Columns.Add(new DataColumn("ITEM", typeof(string)));
                int i = 0;
                XmlTextReader reader = new XmlTextReader("userdata.xml");
                while (reader.Read())
                {
                    if (reader.Name !="")
                    {
                        //MessageBox.Show("OK", reader.ReadString());
                        dr = dt.NewRow();
                        dr[i] = reader.ReadString();//系统提示找不到列1;
                        dt.Rows.Add(dr);
                        i++;
                    }                
                }
                dgUserKey.DataSource = dt;
      

  8.   

    dr[i] = reader.ReadString();//系统提示找不到列1;改成 : dr[0] = reader.ReadString();
    dt.Columns.Add(new DataColumn("ITEM", typeof(string)));
    这段代码是给datatable定义列,我只定义了一列,你i++了当然不对
    dr[0]指这一行的第一列
      

  9.   

    TO:lalaliu(啦啦),我有很多个子节怎么办?
      

  10.   

    同一问题:
    http://community.csdn.net/Expert/topic/5627/5627815.xml?temp=.4639551