TeeChart for .NET图表控件教程:ADO数据库访问

TeeChart for .NET优秀的 4.0 WinForm 图表控件,官方独家授权汉化,集功能全面、性能稳定版、优惠等优势。NET 的 TeeChart for .NET 中文承诺让您在使用和学习上没有语言障碍,最少可以节省30%的开发时间。

点击立即下载最新版TeeChart for .NET

简介 

这种设计使你在如何将图表连接到数据库方面具有完全的灵活性,因为你不会被限制在只有一个数据库或只有一个表或查询。

数据也是在设计时检索的,所以你在开发时可以看到实际的数据。

在设计时连接到ADO.NET 

DataAdapter [VS2003] 
在设计时,将一个系列连接到一个ADO.NET数据源的必要步骤是。

1. 从VS.NET工具箱的数据选项卡中,将一个OleDbDataAdapter拖到一个WinForm上,上面有一个TeeChart for .Net对象。
2. 在数据适配器配置向导中点击 “下一步”,在下一页中点击 “新连接… “按钮。
3. 现在点击新窗口的 “提供者 “标签,选择 “Microsoft Jet OLE DB提供者”,如下图所示。

TeeChart for .NET图表控件教程:ADO数据库访问4. 现在点击同一窗口的 “连接 “标签,从TeeChart for .Net根目录下的样本数据文件夹中选择TeeChart.mdb文件。

TeeChart for .NET图表控件教程:ADO数据库访问5. 点击 “测试连接 “按钮来测试连接,然后点击同一窗口的 “确定 “按钮。

6. 现在点击数据适配器配置向导窗口的 “下一步 “按钮,在出现的窗口中选择 “使用SQL语句 “并再次点击 “下一步 “按钮。

7. 现在点击 “查询生成器 “按钮,添加 “雇员 “表。关闭 “添加表 “窗口,选择 “*(所有列)”复选框。

TeeChart for .NET图表控件教程:ADO数据库访问

8. 现在确定这个窗口,点击 “下一步”,然后点击 “完成”。

TeeChart for .NET图表控件教程:ADO数据库访问12. 现在点击应用按钮并运行表单;你现在应该有如下的东西。

TeeChart for .NET图表控件教程:ADO数据库访问

BindingSource [VS2005,VS2008,VS2010,VS2012,VS2013] 

在设计时,将一个系列连接到一个ADO.NET数据源的必要步骤是。
1. 从VS.NET工具箱的数据选项卡中,将一个BindingSource拖到一个带有TeeChart for .Net对象的WinForm上。

TeeChart for .NET图表控件教程:ADO数据库访问2. 进入数据标签,选择 “显示数据源”
TeeChart for .NET图表控件教程:ADO数据库访问

3. 在数据源工具箱上点击右键,选择 “添加新数据源”。

4. 选择数据库,选择/创建连接字符串,在我们的例子中,我们使用Microsoft Access DataBase File(OLE DB),点击继续。

TeeChart for .NET图表控件教程:ADO数据库访问

TeeChart for .NET图表控件教程:ADO数据库访问

注意:点击测试连接按钮,检查你的数据源的连接情况。


5. 最后在浏览中选择你要连接的表。
TeeChart for .NET图表控件教程:ADO数据库访问6. 从数据源工具箱中选择你想用作数据源的表,并把它拖到你的表单中。

TeeChart for .NET图表控件教程:ADO数据库访问10. 现在点击 “应用 “按钮并运行表单;你现在应该有如下内容。

TeeChart for .NET图表控件教程:ADO数据库访问

单一记录 

单一记录图表允许在TeeChart上显示单一数据库记录的全部或部分记录。它可能对数据库视图或表格很有用,例如,每年的销售数字被存储为单独的月份列,”JAN”、”FEB”、”MAR”……等,通过记录显示连续几年的月度销售。

在运行时连接到ADO.NET 

[版本 .net 2003] 
DataAdapter 
上述设计时的步骤可以通过几行代码以编程方式重现。这给了你更多的自由和对数据库操作的控制。

[C#]using System.Data;using System.Data.OleDb;using System.Security;using System.Security.Permissions;private void Form1_Load(object sender, System.EventArgs e) {            DataSet masterDataSet = new DataSet();            Bar bar1 = new Bar(tChart1.Chart);            try            {                OpenConnWithJet40(ref masterDataSet);                DataTable employeeTable = masterDataSet.Tables["EMPLOYEE"];                bar1.YValues.DataMember = employeeTable.Columns["SALARY"].ToString();                bar1.LabelMember = employeeTable.Columns["LASTNAME"].ToString();                bar1.DataSource = employeeTable;            }            catch (SecurityException)            {                MessageBox.Show("The calling method has not been granted sufficient permission to access the Microsoft Jet 4.0 OLE DB Provider.");            }} [OleDbPermission(SecurityAction.Demand, Provider = "Microsoft.Jet.OLEDB.4.0")] private void OpenConnWithJet40(ref DataSet masterDataSet) {                 OleDbConnection testConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data Source=C:Program FilesSteema SoftwareTeeChart for .NET v3Sample dataTeeChart.mdb;");               testConn.Open();            string strCom = "SELECT * FROM Employee";            OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom,testConn);            myCommand.Fill(masterDataSet, "Employee");            testConn.Close();        }[VB.Net]Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load            Dim MasterDataSet As New DataSet()            Dim Bar1 As New Steema.TeeChart.Styles.Bar(TChart1.Chart)            Try                OpenConnWithJet40(MasterDataSet)                Dim employeeTable As DataTable = MasterDataSet.Tables("Employee")                Bar1.YValues.DataMember = employeeTable.Columns("SALARY").ToString()                Bar1.LabelMember = employeeTable.Columns("LASTNAME").ToString()                Bar1.DataSource = employeeTable            Catch ex As Exception                MessageBox.Show("Microsoft Jet 4.0 OLE DB Provider problem: " & ex.Message)            End TryEnd SubPrivate Sub OpenConnWithJet40(ByRef MasterDataSet As DataSet)            Dim TestConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:Program FilesSteema SoftwareTeeChart for .NET v3Sample dataTeeChart.mdb;")            TestConn.Open()            Dim StrCom As String = "SELECT * FROM Employee"            Dim MyCommand As New OleDbDataAdapter(StrCom, TestConn)            MyCommand.Fill(MasterDataSet, "Employee")            TestConn.Close()        End SubEnd Class

在.NET 2005版本中,对2005版本的变化不大
[version .net 2005] 
DataAdapter 

[C#]using System.Data;using System.Data.OleDb;using System.Security;using System.Security.Permissions;private void Form1_Load(object sender, EventArgs e) {            //string ConnString = SqlDataSource1.ConnectionString;              string sQuery = "select * from Employee";               //SqlConnection myConnection = new SqlConnection(ConnString);                 string myConnString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\Program Files\Steema Software\TeeChart for .NET v3\Sample data\TeeChart.mdb;Uid=Admin;Pwd=;";            System.Data.Odbc.OdbcConnection myConnection = new System.Data.Odbc.OdbcConnection(myConnString);               //SqlCommand myCommand = new SqlCommand(sQuery, myConnection);            System.Data.Odbc.OdbcCommand myCommand = new System.Data.Odbc.OdbcCommand(sQuery, myConnection);            myConnection.Open();               //SqlDataReader myReader = myCommand.ExecuteReader();            System.Data.Odbc.OdbcDataReader myReader = myCommand.ExecuteReader();            int XColumn = myReader.GetOrdinal("ID");            int YColumn = myReader.GetOrdinal("SALARY");            int LabelColumn = myReader.GetOrdinal("LASTNAME");            Steema.TeeChart.Styles.Bar bar1 = new Steema.TeeChart.Styles.Bar(tChart1.Chart);            while (myReader.Read())            {                bar1.Add(Convert.ToInt32(myReader[XColumn]), Convert.ToDouble(myReader[YColumn]), Convert.ToString(myReader[LabelColumn]));            }            myReader.Close();            myConnection.Close();} [VB.Net]Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        Dim MasterDataSet As New DataSet()        Dim Bar1 As New Steema.TeeChart.Styles.Bar(TChart1.Chart)        Try            OpenConnWithJet40(MasterDataSet)            Dim employeeTable As DataTable = MasterDataSet.Tables("EMPLOYEE")            Bar1.YValues.DataMember = employeeTable.Columns("SALARY").ToString()            Bar1.LabelMember = employeeTable.Columns("LASTNAME").ToString()            Bar1.DataSource = employeeTable        Catch ex As Exception            MessageBox.Show("Microsoft Jet 4.0 OLE DB Provider problem: " & ex.Message)        End Try End Sub Private Sub OpenConnWithJet40(ByRef MasterDataSet As DataSet)        Dim TestConn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:Program FilesSteema SoftwareTeeChart for .NET v3Sample dataTeeChart.mdb;")        TestConn.Open()        Dim StrCom As String = "SELECT * FROM Employee"        Dim MyCommand As New OleDb.OleDbDataAdapter(StrCom, TestConn)        MyCommand.Fill(MasterDataSet, "Employee")        TestConn.Close()    End SubEnd Class

如果数据库的值发生了变化,你想 “刷新 “连接并再次检索这些值,你应该这样做。
TChart1.Series(0).CheckDataSource 
CheckDataSource “方法将强制该系列再次检索所有记录。
所有的系列也都有 “XValues.ValueSource “属性。这个属性只用于XY图表(当你为每个点有一个X坐标时)。

单一记录 

与表的连接 

this.singleRecordSource1 = new Steema.TeeChart.Data.SingleRecordSource();this.sourceTableSet.DataSetName = "NewDataSet";this.sourceTableSet.Tables.AddRange(new System.Data.DataTable[] {this.sourceTable});this.singleRecordSource1.DataSource = this.sourceTableSet;this.singleRecordSource1.ValueMembers = new string[] {                                                             "JAN",                                                             "FEB",                                                             "MAR"};this.bar1 = new Steema.TeeChart.Styles.Bar();this.bar1.DataSource = this.singleRecordSource1; 

表格导航 

TeeChart的SingleRecord使用CurrencyManager组件来导航数据库表并更新Chart。在改变表的记录后,使用CheckDatasource来更新Chart。

例子 

private CurrencyManager myCurrencyManager;public void ConnectChartToTable(){     myCurrencyManager = (CurrencyManager)this.BindingContext[sourceTable];     singleRecordSource1.RecordCurrency=myCurrencyManager;     tChart1[0].CheckDataSource();}

该表(和图表)可以通过使用CurrencyManager来导航。

    private void MovePrevious()    {      if (myCurrencyManager.Position>0)      {        myCurrencyManager.Position=myCurrencyManager.Position+1;        tChart1[0].CheckDataSource();      }    }    private void MoveNext()    {      if (myCurrencyManager.Position<myCurrencyManager.Count)      {        myCurrencyManager.Position=myCurrencyManager.Position+1;        tChart1[0].CheckDataSource();      }    }

在ASP.NET中使用ADO.NET 

你可以通过ASP.NET连接数据源,在ASP.NET WebForm上使用TeeChart WebChart,其方式与数据源连接到WinForm上的TeeChart组件的方式几乎相同。关于ASP.NET的更多信息,请参见互联 应用教程。


的的TeeChart为.NET已加入在线订购,现在抢购可立享优惠!

如果你看到了可爱的动物群,欢迎加入展示区QQ:


标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月3日
下一篇 2021年6月3日

相关推荐

发表回复

登录后才能评论