插入不能在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并再次检查。以前的数据已经消失。新插入的数据只在那里。
你会得到什么错误? – Xedni
我没有得到任何错误。它完成没有错误。但是当我结束程序时,它不会插入任何东西。 –
而你已经在SQL中验证过这些行不存在;不只是通过你的应用程序,而是直接针对数据库? TBH的选择看起来比插入更可疑。 – Xedni