excel透视表向导
如何创建不使用向导 介绍 数据库连接我在网上看到了很多有关从中获取数据以及将数据保存到数据库的问题。 这里有一点见识,如何使用.NET代码实现这一点。 我更喜欢使用代码而不是向导,因为您完全负责连接。 本文针对Visual Basic.NET 2005和C#2005编写,并将讨论如何使用MS Sql数据库。 OleDB的工作原理相同,但是使用不同的名称空间和组件。 有关更多信息,请参见
如何在程序中使用数据库第二部分 。在大吼大叫之前,这段代码可能会更有效:我知道! 撰写本文是为了使新手可以逐步了解它在代码中的工作方式。 否则,您不妨使用向导。
有几种与数据库交互的方式。 本文介绍了如何使用DataSet和DataAdapter与之交互。 您还可以使用诸如DataReader之类的组件。 有关更多信息,请参见
如何在程序的第一部分中使用数据库 。 总览要连接数据库并与数据库交换数据,您将需要三个组件:
- 连接
- 数据集
- 一个数据适配器
的
DataSet是数据库的本地表示形式。 DataSet由DataTable对象组成,这些对象表示数据库中表的形式。 许多人认为DataSet本身可以保存数据,但事实并非如此。 实际数据存储在DataTable对象中。 通过存储在DataAdapter中的命令可以插入,更新和删除DataTables中的数据。 入门首先,我们包含名称空间,这些名称空间包含将要使用的类。 对于数据集,我们需要System.Data,而Sql组件则需要System.Data.SqlClient。
'VB.NET
Imports System.Data
Imports System.Data.SqlClient
//C#
using System.Data;
using System.Data.SqlClient;
接下来,我们创建Connection,DataSet和DataAdapters。
为数据库中的每个表创建一个DataAdapter。
'VB.NET
Public cnnConnection As SqlConnection = New SqlConnection("Data Source=<Server>;Initial Catalog=<database>;User ID=<UserName>;Password=<Password>")
Public dsDataSet As DataSet = New DataSet(“dsDataSet”)
Public daDataAdapter1 As SqlDataAdapter = New SqlDataAdapter(“table1”)
Public daDataAdapter2 As SqlDataAdapter = New SqlDataAdapter(“table2”)
Public daDataAdapter3 As SqlDataAdapter = New SqlDataAdapter(“table3”)
//C#
public Connection cnnConnection = new SqlConnection("Data Source=<Server>;Initial Catalog=<database>;User ID=<UserName>;Password=<Password>");
public DataSet dsDataSet = new DataSet("dsDataSet");
public SqlDataAdapter daDataAdapter1 = new SqlDataAdapter();
public SqlDataAdapter daDataAdapter2 = new SqlDataAdapter();
public SqlDataAdapter daDataAdapter3 = new SqlDataAdapter();
获取数据
现在我们声明了所有必需品,是时候用数据填充DataTables了。 为此,我们需要告诉DataAdapters我们想要什么数据。 这是通过SQL查询完成的。 首先,创建一个包含SQL查询的字符串。 接下来,我们创建SqlCommand来选择数据,然后,告诉DataAdapter使用该命令。 它看起来像这样:
'VB.NET
Dim strFirstSelectQuery As String = “SELECT * FROM table1”
Dim cmdFirstSelectCommand As New SqlCommand(strFirstSelectQuery, cnnConnection)
daDataAdapter1.SelectCommand = cmdFirstSelectCommand
cnnConnection.Open()
daDataAdapter1.Fill(dsDataSet, “table1”)
cnnConnection.Close()
//C#
string strFirstSelectQuery = "SELECT * FROM table1";
SqlCommand cmdFirstSelectCommand = new SqlCommand(strFirstSelectQuery, this.cnnConnection);
daDataAdapter1.SelectCommand = cmdFirstSelectCommand;
cnnConnection.Open();
daDataAdapter1.Fill(this.dsDataSet, "table1");
cnnConnection.Close();
插入和更新
插入和更新数据库非常简单。 实际上,它看起来很像上面的代码。 唯一的区别是,您使用其他SQL查询,而不是使用SelectCommand,而是使用InsertCommand或UpdateCommand。 最后一个区别是,在打开“连接”时不会填充DataAdapter。 而是,使用以下代码:
'VB.NET
daDataAdapter1.InsertCommand.ExecuteNonQuery()
//C#
daDataAdapter1.InsertCommand.ExecuteNonQuery();
要么
'VB.NET
daDataAdapter1.UpdateCommand.ExecuteNonQuery()
//C#
daDataAdapter1.UpdateCommand.ExecuteNonQuery();
我希望这会回答一些问题。
如果没有,请在.NET论坛中发布您的问题!
史蒂文
excel透视表向导