2009-07-13 36 views
20

我正在製作一個將在多臺計算機上安裝並運行的應用程序,我的目標是創建一個隨應用程序一起安裝的空本地數據庫文件,並且當用戶使用該應用程序時,他的數據庫充滿來自應用程序的數據。 你能爲我提供了下面的例子:本地數據庫,我需要一些示例

  1. 什麼,我需要做的,所以我的應用程序可以連接到其本地數據庫
  2. 如何與變量從應用程序,例如執行一個查詢你會如何添加到數據庫以後的事

    String abc = "ABC"; 
    String BBB = "Something longer than abc"; 
    

和等 編輯:: 我使用的是「本地數據庫」 CR從「添加>新項目>本地數據庫」吃掉,所以我怎麼連接到那個?很抱歉的愚蠢的問題..我從來沒有使用.NET中

+0

你連接了什麼類型的數據庫? – ddc0660 2009-07-13 20:45:46

+0

我正在考慮使用本地.sdf文件 – Aviatrix 2009-07-13 20:51:21

+0

已更新我的回答,以迴應您使用.sdf(Sql Ce/Sql Compact)的詳細說明 – 2009-07-14 10:57:07

回答

22

根據您的需要,您也可以考慮Sql CE。我敢肯定,如果你指定了你正在考慮使用的數據庫,或者你的需求,如果你有用,你會得到適當和真實的連接字符串等例子。

編輯:這是SqlCe/Sql Compact

public void ConnectListAndSaveSQLCompactExample() 
    { 
     // Create a connection to the file datafile.sdf in the program folder 
     string dbfile = new System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).DirectoryName + "\\datafile.sdf"; 
     SqlCeConnection connection = new SqlCeConnection("datasource=" + dbfile); 

     // Read all rows from the table test_table into a dataset (note, the adapter automatically opens the connection) 
     SqlCeDataAdapter adapter = new SqlCeDataAdapter("select * from test_table", connection); 
     DataSet data = new DataSet(); 
     adapter.Fill(data); 

     // Add a row to the test_table (assume that table consists of a text column) 
     data.Tables[0].Rows.Add(new object[] { "New row added by code" }); 

     // Save data back to the databasefile 
     adapter.Update(data); 

     // Close 
     connection.Close(); 
    } 

記住要添加一個引用System.Data.SqlServerCe

0

對於1)

提供此功能的最簡單的方法是通過SQL Server Express User Instances數據庫。 SQL Server Express是免費的,因此用戶不必爲SQL Server支付額外的許可證,並且用戶實例是基於文件的,這符合您的要求。

2)

這是一個很大的話題。你可能想通過一些tutorials from Microsoft來獲得如何連接到DB的感覺,等

+6

對於1):** No!**這是非常罕見的,您應該使用Express Edition用於單用戶桌面數據庫。相反,使用Sql Server Compact Edition,Sqlite甚至Access等進程內引擎。 – 2009-07-13 20:56:21

+0

我的觀點是,這是最簡單的方法(可能不是最好的方法)。我個人從未使用過任何內部數據庫引擎。如果這些引擎確實與SQL Server一樣易於使用(並且具有相同的支持級別),那麼我會立即糾正。 – 2009-07-13 21:05:20

6

好像你:

  • -Making將安裝和運行一個C#應用程序在多臺計算機
  • - 那需要一個本地數據庫(我假設一個RDBMS)
  • - 你需要生成在安裝
  • 一個空數據庫,然後 - 你需要能夠連接到數據庫,在時填充它該應用運行。

一般來說,您似乎需要閱讀使用小型數據庫引擎的應用程序。我首先檢查SQLite,特別是如果您需要多操作系統功能(例如,您的C#程序將在Microsoft的.NET Framework和Novell的Mono上運行)。有用於訪問SQLite數據庫的C#包裝器。

1

作爲數據庫你在考慮什麼?從你提出的問題中,你可以推薦SQLite。

你可以從他們的網站Sqlite.NET

11

,我沒有看到任何提示SQL精簡;它與SQLite類似,它不需要安裝和裁剪低端數據庫。它由SQL Mobile發展而來,因此佔用空間小,功能有限,但如果您熟悉Microsoft的SQL產品,則應該對其有所瞭解。

SQL Express是另一種選擇,但請注意,它需要獨立安裝,並且比應用程序的本地緩存需要更強大一些。這就是說它比SQL Compact或SQLite更強大。

4

我相信這個問題是關於在Visual Studio中的 「本地數據庫」 項目模板:

alt text