1.背景
首先第一個我的開發環境是visual studion 2010,數據庫用的是sql 2008。。
2.想要做的東西
想要做的當然是學會WPF的程序怎么使用數據庫了,並把數據庫的表顯示在DataGrid了。。
那么我們來分解步驟。。想一想,第一步我們要干什么?恩,第一步肯定是要新建一個WPF程序,然后把數據庫文件添加進工程了。。。
然后呢?接下來我們要做的是配置數據庫的連接,初始化連接數據庫,然后用T-sql命令操作表,然后取出執行了命令的數據,把數據填充到數據表,然后再把數據表里的數據賦值給DataGrid的ItemSource。。。
是不是挺復雜呢。。那么我們看看實際一步步操作起來如何。。。
3.新建WPF文件
4.添加數據庫文件到程序
步驟就是這樣。。添加進程序之后,會自動生成一個App.config的文件。。。
里面的文件內容大概是這樣的:
<configuration> <configSections> </configSections> <connectionStrings> <add name="ConString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\財務管理信息系統.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration>
解釋下----這個App.config是配置文件,作用是直接在這里就可以修改數據庫的配置而不用去代碼文件里修改...
name就是你數據庫配置的名字,也可以理解為數據庫的代替名字,這個你可以任意修改,這里我就改成的是ConString。ConnectionString的意思就是明面的連接數據庫..DataSource=.\SQLEXPRESS 這個.代表本地數據庫\SQLEXPRESS代表數據庫的類型是Sql數據庫... AttachDbFilename=|DataDirectory|\財務管理信息系統.mdf 是本來的數據庫文件的名字... 后面還有一長串,包括什么綜合安全性=True 用戶實例=true,提供名字=System.Data.SqlClient....。。。。
恩,現在的解決資源方案管理器大概是這樣的。。
有一個App.config的配置文件,一個數據庫文件,一個數據庫DataSex.xsd的文件..前面已經介紹了App.config。。
那么我們現在來看看數據庫DataSet.xsd這個文件。。
恩,我們來分析下這個里面是什么東西。。可以看到有很多表,包括什么科目表之類的,每個表有很多表的列名,每個表下面有個TableAdapter的方法。恩。。這個TableAdater是什么呢,是用來取出這個表數據的。。
然后表與表之間很多線,這個是你預先在數據庫設置的表的關系,主外鍵關系。。
注意:我這里的數據庫文件沒有密碼,因此直接沒有用戶名和密碼在配置文件里,如果有,那么在配置文件就要寫。。
5.MainWindow.xaml
現在我們要開始前台界面UI工作。。。
恩,就是這樣。。
<DataGrid Name="grdEmployee" />
6.MainWindow.xaml.cs
首先我們要引用一個開發包using System.Configuration;
然后我們要
using System.Data;
using System.Data.SqlClient;
如圖:
如果引用正確那么就是上面這個樣子。。
接下來我們要開始寫代碼了。。。
首先在定義一個私有的無返回值的方法FillDataGrid();
代碼是這樣的:
private void FillDataGrid() { //ConString是配置文件里的數據庫名字 //大概過程---先配置數據庫ConString(因為配置文件App.config把數據庫名字改成了這個),作用是說明在配置文件里直接就可以修改數據庫的參數而不用麻煩的在代碼里改 //--然后定義一個字符串用作寫T-SQL語句,然后初始化數據庫連接(使用配置文件ConString),字符串放T-sql語句 //--再然后數據庫命令,作用是使得上一句的字符串的命令生效 //--再然后實例化SqlDataAdapter //---再然后實例化數據表DataTable //---再然后SqlDataAdapter填充數據表DataTable的東西 //--最后把填充好的數據的基礎視圖賦值給DataGrid的ItemSource string ConString = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString; string CmdString = string.Empty; using (SqlConnection con = new SqlConnection(ConString)) { CmdString = "SELECT * FROM 部門表";//如果只顯示某幾列數據,可以用其他sql語句控制,如select 部門經理 from 部門表 SqlCommand cmd = new SqlCommand(CmdString, con); SqlDataAdapter sda = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); sda.Fill(dt); grdEmployee.ItemsSource = dt.DefaultView; } }
然后再主窗口的方法里寫上這個定義的方法。
public MainWindow() { InitializeComponent(); FillDataGrid(); }
如圖:
7.執行程序F5
結果--
恩。。現在可以正常運行了。。
8.最后的最后
現在在我們的電腦上運行程序是沒有問題的了,那么在客戶的電腦上呢?
可能是會出現問題的。。
第一個,客戶的電腦上要安裝SQL Server..
第二個,要把Sql服務開啟。。在Sql的配置管理器里
如圖,要開啟SQL SERVER的服務
如果正常,在Visual Studio里面雙擊數據庫文件會是下圖的情況。。
恩。。然后結束了。。