我在c#中的桌面应用程序有问题。我决定将Web表单中非常简单的Web应用程序迁移到Windows窗体。我用过sql和LINQ。在网络表单中一切正常。现在在Windows窗体中没有。代码完全一样。我将其更改为数据库中的一个控件和一个表。我debbuged,我认为一切都很好,但由于某种原因insertonsubmit()命令不起作用。我将不胜感激。
我使用Windows 8,Visual for web 2012,用于桌面2013
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DataClasses1DataContext db = new DataClasses1DataContext();
osoba obj = new osoba();
obj.nazwa ="Anna";
db.osobas.InsertOnSubmit(obj);
db.SubmitChanges();
MessageBox.Show("ok");
}
}
附件项目中的:https://drive.google.com/file/d/0B7nHhrRU4CjHZExDMFRlNkZzN0U/edit?usp=sharing
答案 0 :(得分:0)
将评论转换为答案。
问题在于,当您在项目中附加了数据库时,对于Web应用程序,它可以正常工作,因为它不会将其复制到bin文件夹。但是对于Win应用程序,它会在每个构建版本上复制它,因此在您的情况下,步骤是:
当您使用附加到项目的数据库时,这是典型的问题。通常没关系,但如果您不喜欢它,可以将数据库从项目中移开。或者您可以使用SQL Express或通常的SQL服务器并将您的数据库附加到SQL Server,然后它将与您的项目分离,并且不会每次都替换。
答案 1 :(得分:0)
几秒钟前我得到了同样的错误,但它已修复。
在visual studio 2013中有解决方案您的数据库连接。
服务器资源管理器 - >数据连接 - > yourdatabasename应该变为绿色。
您还可以检查表格是否包含主键。
我希望它有所帮助。