2010-09-28 95 views
0

嗨,我只是上来的实践计划在C#中的读,写数据到Access数据库,我有在写入数据的问题Access数据库虽然我”米能够读取数据,即fetchin'工作正常,但是当我插入数据我‘的ExecuteNonQuery’工作正常,我的意思是没有NE错误,但在开放的Access数据库中的数据是不存在....这里是代码是什么米试着做...编写C到MS-Access数据库问题尖锐

 

     //// 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); 
 

实际工作中的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文件包含字符串作为

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

回答

2

你在调试过程中吗?在这种情况下,查看调试文件夹内是否有mdf文件,以及它是否包含刚才插入的数据。当您在该模式下运行应用程序时,Vs会将某些文件复制到调试文件夹。如果我没有记错有调试

+0

斯特凡诺@ HM,是米调试模式做就行了,当是一个选项来告诉VS不要复制文件..我HV有关该选项debuggin时告诉不复制文件,nehw不知道我会检查选项和thanx哥们,让我们看看它的作品与否。 – FosterZ 2010-09-28 08:36:26

+0

Stefano @ hey调试文件夹内有一个.mdf文件,它包含数据..你能解释我为什么会发生这种情况,我的意思是在调试文件夹中创建另一个mdf文件? – FosterZ 2010-09-28 08:39:55

+0

@FosterZ我想它恰好在开发过程中不会损坏数据。老实说,我不记得如何避免应对文件,尝试选择你的项目内的mdf文件(我想你已经将它添加到项目中),选择属性选项卡和(如果它存在)更改“复制本地”选项假 – 2010-09-28 09:22:30