LinqToSQL 中的连接字符串

发布于 2024-12-02 09:38:18 字数 889 浏览 0 评论 0原文

我用 C# 编写了一个示例,但是当我使用相对连接字符串时,它不会将数据保存到数据库,甚至不会出现任何异常或错误:

private void AddButton_Click(object sender, EventArgs e)
{
    using (DataBaseModelDataContext DB = new DataBaseModelDataContext(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DataBase.mdf;Integrated Security=True;User Instance=True"))
    {
        Person person = new Person { Name=NameField.Text,LastName=LastNameField.Text};
        DB.Persons.InsertOnSubmit(person);
        DB.SubmitChanges();
        MessageBox.Show("Add successfully");
    }
}

但是当我更改连接字符串时它可以工作:

using (DataBaseDataContext DB = new DataBaseDataContext(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Herald\Documents\Visual Studio 2010\Projects\LinqToSql\LinqToSql\DataBase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")

但我需要使用相对连接字符串我应该做什么:

i wrote a sample with c# but when i use relative connectionstring it doesnt save data to database and doesnt make any exception or error even:

private void AddButton_Click(object sender, EventArgs e)
{
    using (DataBaseModelDataContext DB = new DataBaseModelDataContext(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DataBase.mdf;Integrated Security=True;User Instance=True"))
    {
        Person person = new Person { Name=NameField.Text,LastName=LastNameField.Text};
        DB.Persons.InsertOnSubmit(person);
        DB.SubmitChanges();
        MessageBox.Show("Add successfully");
    }
}

but when i change connection string it works:

using (DataBaseDataContext DB = new DataBaseDataContext(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Herald\Documents\Visual Studio 2010\Projects\LinqToSql\LinqToSql\DataBase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")

but i need to use relative connection string what should i do:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爺獨霸怡葒院 2024-12-09 09:38:18

您需要获取当前目录并将其映射到字符串中。

path = New Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath;
path = IO.Path.GetDirectoryName(path);

You'll need to get the current directory and map it into the string.

path = New Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath;
path = IO.Path.GetDirectoryName(path);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文