无法使用linq wpf c将数据插入数据库#

2sbarzqh  于 2021-08-13  发布在  Java
关注(0)|答案(0)|浏览(172)

在我的项目中,我遇到了许多与数据库和connectionstring相关的问题,我想我已经解决了。在解决这些问题的时候,我被一些我无法解决的奇怪的事情困住了。
我不能保存数据到我的数据库,除非我的数据库是空的,所以基本上我的程序添加数据一次,然后停止工作。
当我创建数据库时,我选择了MicrosoftSQLServer数据库文件(sqlclient),数据库是通过VisualStudio2019中的服务器资源管理器创建的。

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>

此连接字符串是在my 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");
        }
    }

}

是的,我的程序只有一个函数可以读取文本框中的内容并将其插入数据库。
我的xaml代码看起来像是两个文本框和按钮,用来向数据库中添加数据

<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>

如果有人能告诉我怎么解决的话,我会非常感激的。如果这个问题在某个地方解决了,那么我很抱歉再次发布,但我找不到任何与此相关的内容。
提前感谢您的帮助,祝您愉快!
@编辑我想提到这个问题只发生在我做wpf项目

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题