繁体   English   中英

LINQ to sql insert data c#

[英]LINQ to sql insert data c#

我创建了一个函数,其目的是将数据添加到数据库(我使用linq to sql)

这是我写的代码

       public static void Add(string Name, int Quantitty) {

        DataDataContext Database = new DataDataContext();
        tests test = new tests();

        test.Name = Name;
        test.Quantity = (short)Quantitty;

        Database.tests.InsertOnSubmit(test);

        Database.SubmitChanges();
    }

我已打开我的应用程序,按下调用此函数的按钮并关闭应用程序,而不是我在VS中打开表数据并且数据库中没有数据。

我不明白我做错了什么。

您使用的是本地数据库文件(例如Database1.sdf)吗? 如果是这种情况,则在构建应用程序时会将数据库复制到bin文件夹,然后使用该副本。 应用程序正在将数据添加到与VS打开的文件不同的文件中。

你有没有进入调试模式,看看你有没有错误? 顺便说一句,你应该有一个使用声明和尝试捕获可能吗?

编辑以添加代码示例

这将显示在SubmitChanges中是否引发异常,同时使用确保调用dispose

using(var Database = new DataDataContext())
 {
    tests test = new tests();

    test.Name = Name;
    test.Quantity = (short)Quantitty;

    Database.tests.InsertOnSubmit(test);
    try
    {
        Database.SubmitChanges();
    }
    catch (ChangeConflictException e)
    {
        //report error, log error whatever...
    }
}

1-使用try,catch。

2-哪一个是主键? 没有主键就不能插入(或者表必须有primaray键)

3-你调试了代码吗?

嗨使用时间戳数据类型。我认为问题将得到解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM