0

我在 sql server express edition 中创建了一个数据库,其中我创建了一个名为employee 的表。现在我能够成功地将行(记录)动态插入到表中,并且我也可以成功读取这些记录。但问题是动态插入的值是临时存储的。当我关闭并重新打开应用程序时,以前插入的记录不可用。你能建议我怎么做才能将记录永久保存到数据库中。

这是我用于将记录插入 sql server 数据库的代码。请帮我解决这个问题...

namespace VACS_practice
{
    public partial class Form1 : Form
    {
        string m_sVehicleNo, m_sName, m_sFlatNo, m_sImagpath;
        System.Data.SqlClient.SqlConnection Con;
        System.Data.SqlClient.SqlCommand Cmd;
        string ConString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\VACSDB.mdf;Integrated Security=True;User Instance=True";

        public Form1()
        {
            InitializeComponent();
        }

        private void btnAddClick(object sender, EventArgs e)
        {

            Con = new SqlConnection(ConString);
            m_sVehicleNo = m_VehicleNo.Text;
            m_sName = m_Name.Text;
            m_sFlatNo = m_Phno.Text;
            //m_sImagpath = m_ImgPath.Text;
            Cmd = new SqlCommand("INSERT INTO ResidentDB ([R_VehNo],[R_Name],[R_PhNo])   VALUES ('" + m_sVehicleNo + "','" + m_sName + "','" + m_sFlatNo + "')", Con);
            Con.Open();
            Cmd.ExecuteNonQuery();
            Con.Close();
            MessageBox.Show("Inserted successfully");
            // this.Close();
        }
    }
}
4

1 回答 1

0

因为您使用的是 AttachDbFilename=|DataDirectory,所以我相信每次运行应用程序时,数据库可能会被解决方案中的“模板”.mdf 覆盖。确保您的数据库未部署为“始终复制”或类似的。或者,如果您的应用程序不需要本地/每个用户数据库,您可以将 MDF 永久附加到 SQL Express服务下。

于 2011-09-09T12:33:18.040 回答