小编PAU*_*SNE的帖子

AppDomain.CurrentDomain.GetData("DataDirectory")始终返回Null

在我的程序中,我需要从默认位置复制模板数据库,据我所知,这将取决于我选择使用的安装程序.问题是我似乎无法读取| DataDirectory |的实际路径 我知道我应该使用AppDomain.CurrentDomain.GetData("DataDirectory"),但它总是在调试器中返回Null,这意味着我无法测试我的代码.我尝试了以下两种语法:

string sourcePath = AppDomain.CurrentDomain.GetData("DataDirectory").ToString();
Run Code Online (Sandbox Code Playgroud)

string defaultpath = Convert.ToString(AppDomain.CurrentDomain.GetData("DataDirectory"));
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?

感谢名单!

c# sql-server-ce datadirectory

6
推荐指数
1
解决办法
7470
查看次数

如何读取| DataDirectory |的当前路径 从配置设置

我正在编写一个程序,要求用户在应用程序启动时选择活动数据库.我有一个Windows窗体,它将列出存储在ApplicationData子文件夹中的数据库,专门用于存储数据库文件.但是,当我创建一个新数据库时,我需要复制模板数据库,但无法确定默认情况下存储的位置.

我试过了:

dpath = ConfigurationManager.AppSettings["DataDirectory"];
Run Code Online (Sandbox Code Playgroud)

我似乎总是得到一个null值作为回报.有一次我放弃了,并且认为我可以将DataDirectory设置为我选择的文件夹,但是在执行我的程序时我似乎已经太晚了才能使它生效.

newdpath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\MyAppFolder";
Run Code Online (Sandbox Code Playgroud)

我很感激有关如何找到数据库位置的任何建议,或者我自己尽早设置它以影响程序操作.

编辑:

对于第二部分,我发现在尝试执行TableAdapter.Fill命令后,我尝试修改连接字符串,从而解释了为何打开默认数据库.这个谜团已经解决了.然而,第一部分仍然是一个未知数.

谢谢.

c# sql-server-ce datadirectory

5
推荐指数
1
解决办法
3万
查看次数

使用XML文件在C#中存储数据

我基本上都在寻找有人指出我正确的方向.我阅读了一些Microsoft文档,但这不是很有帮助.这是我第一次尝试使用XML.

我正在编写一个需要存储已知用户列表的应用程序以及每个用户创建的别名列表.我已经弄清楚如何在应用程序关闭时将我的列表序列化并存储到XML文件中,并在应用程序再次打开时检索它们,但我不想将用户和别名列表保留在内存中.

为了实现这一点,我需要能够在运行时搜索,编辑和附加到XML文件.

我设想的XML结构是这样的:

<UserRecord>
    <User>Username-1</User>
    <AliasRecord>
        <Alias>Alias-1</Alias>
        <Number>6135551234</Number>
    </AliasRecord>
    <AliasRecord>
        <Alias>Alias-2</Alias>
        <Number>6131238888</Number>
    </AliasRecord>
</UserRecord>
Run Code Online (Sandbox Code Playgroud)

每个用户只有一个用户名,但可能有多个别名.我需要能够添加用户,向新用户或现有用户添加别名,以及更改现有别名.用户名永远不会改变,但可以删除整个用户记录.

到目前为止,我在C#中使用的唯一XML使用了序列化,但我不认为这种方法适用于上述方法.

    private void WriteXML()
    {
        try
        {
            System.Xml.Serialization.XmlSerializer XMLwriter = new System.Xml.Serialization.XmlSerializer(typeof(MessageRecord));

            System.IO.StreamWriter XMLfile = new System.IO.StreamWriter("Saved MessageRecords.xml");
            foreach (MessageRecord mr in OutgoingMessages)
            {
                XMLwriter.Serialize(XMLfile, mr);
            }
            XMLfile.Close();
        }
        catch (Exception e)
        {
            MessageBox.Show(e.Message);
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# xml database file-io

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×3

datadirectory ×2

sql-server-ce ×2

database ×1

file-io ×1

xml ×1