插入不能在C#中基于服务的数据库上工作

问题描述:

我已经在visual studio 2017中创建了一个基于服务的数据库。它与select语句一起工作,但INSERT语句不起作用。这是我的代码。插入不能在C#中基于服务的数据库上工作

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using System.Configuration; 
using System.Data.SqlClient; 

namespace RestaurantApp 
{ 
    public partial class Form1 : Form 
    { 
     SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\SerinCafe.mdf;Integrated Security=True"); 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      conn.Open(); 
      SqlCommand cmd = new SqlCommand("INSERT INTO Product (Id, ProductDescription, UnitPrice, SystemDate) Values (1,'Çay', 1, '01.01.2017')", conn); 
      cmd.ExecuteNonQuery(); 
      SqlCommand cmd1 = new SqlCommand("SELECT * FROM Product", conn); 
      SqlDataAdapter da = new SqlDataAdapter(cmd1); 
      DataTable dt = new DataTable(); 
      da.Fill(dt); 

      conn.Close(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 

     } 

     private void button2_Click(object sender, EventArgs e) 
     { 
      Application.Exit(); 
     } 

我在不同的主题上看到了同样的问题,但是没有明确的解决方案适用于我。

编辑:在SQL Server对象资源管理器有文件夹调试/ bin下的另一个数据库。现在我检查了它,并且看到数据按照我的意愿插入。但它不会保持不变。我改变了sql查询为id = 3并再次检查。以前的数据已经消失。新插入的数据只在那里。

+0

你会得到什么错误? – Xedni

+0

我没有得到任何错误。它完成没有错误。但是当我结束程序时,它不会插入任何东西。 –

+0

而你已经在SQL中验证过这些行不存在;不只是通过你的应用程序,而是直接针对数据库? TBH的选择看起来比插入更可疑。 – Xedni

我测试过它的代码工作正常。请确保您正确提供了连接字符串。

+0

这是一条评论,不是答案 – FLICKER