首页 > 解决方案 > 无法使用 LINQ WPF C# 将数据插入数据库

问题描述

在处理我的项目时,我遇到了许多与我解决的数据库和连接字符串相关的问题(我认为)。在解决这些问题时,我陷入了对我来说无法解决的奇怪问题。

除非我的数据库是空的,否则我无法将数据保存到我的数据库中,所以基本上我的程序会添加一次数据然后停止工作。

创建数据库时,我选择了 Microsoft SQL Server 数据库文件 (SqlClient) 数据库是通过 Visual Studio 2019 中的服务器资源管理器创建的。

CREATE TABLE [dbo].[Table] (
    [Id]   INT          NOT NULL,
    [log]  VARCHAR (50) NOT NULL,
    [pass] VARCHAR (50) NOT NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC)
);

它通过 LINQ 实例连接到我的应用程序。我的连接字符串是:

<connectionStrings>
    <add name="WpfApp2.Properties.Settings.projectDBConnectionString"
        connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\USER\source\repos\WpfApp2\projectDB.mdf;Integrated Security=True;"
        providerName="System.Data.SqlClient" />
</connectionStrings>

此连接字符串是在我的 app.config 和 Settings.settings 中编辑的。

我的代码很简单,但我正在尝试如何解决这个问题,所以我只想了解它是如何工作的以及如何解决它。

private void Button_Click(object sender, RoutedEventArgs e)
{
   using(DataClasses2DataContext db = new DataClasses2DataContext())
    {
        Table tab = new Table();
        tab.log = txb1.Text;
        tab.pass = txb2.Text;
        db.Tables.InsertOnSubmit(tab);
        try
        {
            db.SubmitChanges();
            MessageBox.Show("Dodano");
            txb1.Text = "";
            txb2.Text = "";
        }
        catch
        {
            MessageBox.Show("Nie dodano");
        }
    }

}

是的,我的程序只有 1 个函数可以读取文本框中的内容并将其插入到我的数据库中。

我的 xaml 代码看起来像 2 个文本框和按钮,应该将数据添加到数据库中

<Window x:Class="WpfApp2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp2"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <TextBox x:Name="txb1" HorizontalAlignment="Left" Height="39" Margin="226,97,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="343"/>
        <TextBox x:Name="txb2" HorizontalAlignment="Left" Height="39" Margin="226,168,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="343" RenderTransformOrigin="0.482,3.304"/>
        <Button Content="Button" HorizontalAlignment="Left" Margin="359,299,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>

    </Grid>
</Window>

如果有人能告诉我如何解决它,我将非常感激。如果这个问题在某个地方得到了解决,那么我很抱歉再次发帖,但我找不到与此相关的任何内容。

提前感谢您的帮助,祝您有美好的一天!

@edit我想提一下这个问题只发生在我做WPF项目时

标签: c#sqlwpflinq-to-sql

解决方案


推荐阅读