2013-03-15 156 views
1

我完全无能为力。当我更改数据库中的任何内容(插入,删除...)时,不会保存更改。代码运行时,更改仅可见。sql数据库不更新

表已填满。

我使用Microsoft SQL Server Compact 4.0的.NET Framework数据提供程序。

对不起,我的英文。

主营:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace SemestralniPrace 
{ 
    class Program 
    { 

     static void Main(string[] args) 
     { 
      Databaze data = new Databaze(Properties.Settings.Default.DatabazeConnectionString); 
      data.Operace("DELETE FROM Pokladna WHERE ID = '1'"); 
      System.Console.Write(data.Vypis("Select Osoba From Pokladna Where ID='1'")); 
      System.Console.ReadKey();   

     } 
    } 
} 

数据库

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Data.SqlServerCe; 

namespace SemestralniPrace 
{ 
    class Databaze 
    { 
     SqlCeConnection con; 

     public Databaze(string conString) 
     { 
      try 
      { 
       con = new SqlCeConnection(conString); 
       con.Open(); 
      } 
      catch 
      { 
       System.Console.Write("Chyba databáze-konec aplikace"); 
       System.Console.ReadKey(); 
       Environment.Exit(0); 
      } 
     } 

     public string Vypis(string prikaz) 
     { 
      string polozka = ""; 
      using (SqlCeCommand com = new SqlCeCommand(prikaz, con)) 
      { 

       SqlCeDataReader reader = com.ExecuteReader(); 
       while(reader.Read()) 
       { 
        polozka = reader.GetString(0); 
       } 
       return polozka; 
      } 
     } 

     public void Operace(string prikaz) 
     { 
      SqlCeCommand command = new SqlCeCommand(prikaz, con); 
      command.ExecuteNonQuery(); 
     } 

    } 
} 
+0

您需要显示更多的代码,并且如前所述,连接字符串。 – Brian 2013-03-15 22:14:39

+0

在哪些行上可以看到更改,以及他们在执行了哪些代码行之后?你是否收到可能导致数据库回滚的错误? – JodyT 2013-03-15 22:14:39

+0

请显示连接字符串。你使用快捷方式'| DataDirectory |'? – Steve 2013-03-15 22:16:22

回答

0

在Solution Explorer中单击数据库文件,并检查值的属性"Copy to Output Directory"

我认为你的价值“复制总是”设置。您需要将其更改为“复制,如果新”

编辑:
当你看到数据后,DELETE一定要使用指向正确的文件的连接... :)

+0

我已经有了“Copy if newer”。我尝试所有选项。没有变化:( – 2013-03-15 22:26:54

+0

我再次要求您显示您的连接字符串更新您的问题 – Steve 2013-03-15 22:34:40

+0

连接字符串:Data Source = | DataDirectory | /Databaze.sdf; password = ***** – 2013-03-15 22:43:18