写入C sharp中的MS-Access DB问题

时间:2010-09-28 07:49:35

标签: c# ms-access

嘿伙计们,我只是在练习程序读取,在C#中向Access DB写入数据,我在向Access DB写入数据时遇到问题,虽然我能够读取数据,即fetchin'正在工作很好,但当我插入数据我“ExecuteNonQuery”工作正常我的意思是没有ne错误但是当打开Access DB时数据不存在....这里是代码,我试着做什么...


        //// Function For ExecuteNonQuery
        public static bool ExecuteNonQuery(string Query)
        {

            OleDbCommand oledbCommand = new OleDbCommand(Query, connection);
            if (connection.State == ConnectionState.Open)
                connection.Close();
            try
            {
                connection.Open();
                if (oledbCommand.ExecuteNonQuery() > 0)
                    return true;
                else
                    return false;
            }
            catch (Exception)
            {
                return false;
            }
            finally
            {
                connection.Close();
            }
        }

以下代码用于添加数据,该数据在“添加”按钮上被触发按


        private void btnAdd_Click(object sender, EventArgs e)
        {
            simOperator.aim_network_name = txtAimNetNm.Text;
            simOperator.network_id = txtOxiNetID.Text;
            simOperator.network_name = txtNetName.Text;
            simOperator.pack_id = txtPackID.Text;
            simOperator.pack_name = txtPackName.Text;
            SimOperator.Add(simOperator);
            fillText();
        }
        public void fillText()
        {
            txtResult.Text = "";
            SimOperator[] simOperatorList = SimOperator.GetAllOperators();
            foreach (SimOperator sm in simOperatorList)
            {
                txtResult.Text += Program.operator_id + " " + sm.aim_network_name + " " + sm.network_name + " " + sm.network_id + " " + sm.pack_id + " " + sm.pack_name + "\r\n";
            }
        }

这是“添加”功能


            string Query = string.Format("insert into {0}({2}) values({1});", calledObject.Name, PropertyValue,PropertyName);
            ExecuteNonQuery(Query);

Actuall SQL查询是:

insert into SimOperator(aim_network_name,network_id,network_name,pack_id,pack_name) values('FiveNet','2563','FiveNet-Kurla','1236','5236');

是的和我的连接字符串


static OleDbConnection connection = new OleDbConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);

App.config文件包含字符串

add key="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\AutoMobileRecharge.mdb;User Id=; Password=;Persist Security Info=True"

我没有得到的是我在所有内部字段文本框旁边放置了一个文本区域,以便我可以看到插入的内容,因此当插入数据时,文本区域完美地显示数据但是当我打开时访问数据库,然后没有数据,当我关闭我的应用程序,然后我再运行它然后文本区域是空的...这听起来很奇怪我...任何一个外面都遇到过这种问题请帮助我这里..

1 个答案:

答案 0 :(得分:2)

你在调试期间这样做吗?在这种情况下,查看调试文件夹中是否有mdf文件,以及它是否包含您刚刚插入的数据。在该模式下运行应用程序时,Vs将一些文件复制到调试文件夹。如果我没记错的话,可以选择告诉vs不要在调试时复制文件