重新运行c#后,数据未保存在SQL Server数据库中

时间:2015-06-14 15:51:09

标签: c# sql-server database

我终于让我的连接字符串正常工作了。现在我已经写了一些代码插入到Customers中名为Database.mdf的表中。当我点击"注册商"表单中的按钮我将usernameTF2中的名称插入到表中,之后我调用ShowCustomers方法重新加载列表框..

当我重新运行程序时,它仍会在列表框中显示以前的名称,但仍然不会在服务器资源管理器中显示这些名称。

代码:

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

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        ProductServiceClient productProxy = new ProductServiceClient();

        SqlConnection connection; 
        string connectionString;

        public Form1()
        {
            InitializeComponent();
            connectionString = ConfigurationManager.ConnectionStrings["TestDB.Properties.Settings.DatabaseConnectionString"].ConnectionString;
            ShowCustomers();
        }

        private void ShowCustomers()
        {
            using (connection = new SqlConnection(connectionString))
            using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Customer", connection))
            {
                DataTable productTable2 = new DataTable();
                adapter.Fill(productTable2);

                lstBox.DisplayMember = "Name";
                lstBox.ValueMember = "Id";
                lstBox.DataSource = productTable2;
            }
        }

        private void registreerBTN_Click(object sender, EventArgs e)
        {
            string response = productProxy.Register(usernameTF2.Text);
            wachtwoordLAB.Text = response;

            string query = "INSERT INTO Customer VALUES(@Name, 20)"; ////

            using (connection = new SqlConnection(connectionString))////
            using (SqlCommand command = new SqlCommand(query, connection))////
            {
                connection.Open();
                command.Parameters.AddWithValue("@Name",usernameTF2.Text);////
                command.ExecuteNonQuery();
                MessageBox.Show("Added");
                connection.Close();
            }

            ShowCustomers();
        }
    }
}

enter image description here

Copy to Output Directory已设置为Copy if newer

的ConnectionString:

表格形式:

connectionString = ConfigurationManager.ConnectionStrings["TestDB.Properties.Settings.DatabaseConnectionString"].ConnectionString;

在app config中:

connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True"

1 个答案:

答案 0 :(得分:0)

我相信在查看内部代码应该正确放置之后,我很惊讶您在尝试连接到数据库时没有收到错误,因为我觉得这是一个连接问题。没有看连接属性,当然很难说。

我建议将代码放在周围的try catch语句中,以便在连接或输入时查看到底出现了什么问题。除此之外,您还可以在窗口中检查您的事件查看器,以便说明为什么没有建立连接。我相信。

我真的希望这会有所帮助。

有关连接字符串的更多信息,我相信一个很棒的网站是www.connectionstrings.com来仔细检查。如果您仍有问题,请随时发布更多信息,以便我们为您提供更多帮助。