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里面双击数据库文件会是下图的情况。。
恩。。然后结束了。。