2013-03-15 155 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