文档章节

【TeeChart Pro ActiveX教程】(八):ADO数据库访问(下)

x
 xiaochuachua
发布于 2018/11/29 11:24
字数 968
阅读 5
收藏 0

下载TeeChart Pro ActiveX最新版本

介绍

TeeChart控件连接到ADO.NET数据库可以在设计时使用TeeChart编辑器完成,并在运行时使用几行代码完成。 任何Series都可以使用TeeChart Editor连接到ADO.NET表或查询。每个系列都可以使用相同或不同的ADO.NET数据库连接到相同或不同的表或查询。 此设计为您提供了如何将图表连接到数据库的完全灵活性,因为您不仅限于一个数据库,也不仅限于一个表或查询。 在设计时也会检索数据,因此您可以在开发期间查看实际数据。

在运行时连接到ADO.NET

[VERSION .NET 2003] DataAdapter

上述设计时步骤可以用几行代码以编程方式重现。这使您可以更自由地控制数据库操作。 每个Series都有“DataSource”属性,它确定数据库值的来源(表或查询),以及“YValues.DataMember”和“LabelMember”属性,以指定我们要绘制的字段。 将新的TeeChart for .Net对象拖到新项目和新表单上。

[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 Files\Steema Software\TeeChart for .NET v3\Sample data\TeeChart.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 Try 
End Sub 
 
Private Sub OpenConnWithJet40(ByRef MasterDataSet As DataSet) 
            Dim TestConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Program Files\Steema Software\TeeChart for .NET v3\Sample data\TeeChart.mdb;") 
            TestConn.Open() 
 
            Dim StrCom As String = "SELECT * FROM Employee" 
            Dim MyCommand As New OleDbDataAdapter(StrCom, TestConn) 
            MyCommand.Fill(MasterDataSet, "Employee") 
            TestConn.Close() 
        End Sub 
End Class

[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 Files\Steema Software\TeeChart for .NET v3\Sample data\TeeChart.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 Sub 
 
End Class

表格导航

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

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 WebForm上的TeeChart WebChart通过ASP.NET连接数据源,其方式几乎与数据源可以连接到WinForm上的TeeChart组件的方式相同。

本文转载自:http://teechart.net/docs/teechart/net/tutorials/html/TeeChartProNetTutorialsContentsTutorial8-ADO...

x
粉丝 0
博文 225
码字总数 49214
作品 0
私信 提问
TeeChart Pro VCL/FMX教程(六):使用系列(二)

下载TeeChart Pro VCL/FMX最新版本 在图表上混合系列类型 TeeChart Pro提供了一个空的Chart Canvas作为数据系列的背景。这意味着没有预定义图表类型。您可以将所需的图表类型定义为要显示的系...

xiaochuachua
05/27
6
0
TeeChart Pro VCL/FMX教程(六):使用系列(一)

下载TeeChart Pro VCL/FMX最新版本 系列类型 该TChartSeries组件是所有系列类型的共同父类 系列类结构 作为TeeChart组件库结构的一小部分背景,下面是系列组件及其结构的说明。下图显示了Tee...

xiaochuachua
05/23
23
0
TeeChart Pro VCL/FMX教程(四):轴控制(下)

下载TeeChart Pro VCL/FMX最新版本 附加轴 复制轴 TeeChart提供5个轴与数据系列相关联:Left、Top、Bottom、Right和Depth。向图表添加新系列时,您可以定义系列应与哪些轴相关(转到“选项卡...

xiaochuachua
05/15
9
0
使用跨平台图表控件TeeChart如何从DAT或TEXT文件中导入数据

大多数开发人员在使用TeeChart进行开发的时候,都需要访问包含在文本文档中的一些数据,本次教程将详细讲解如何去实现这一步骤。 文本文件通常包含使用空格键或者是TAB键分隔开的数字和文字:...

裸奔的火腿肠
2014/02/18
294
0
报表控件TeeChart价格/教程/下载/培训/介绍大全

TeeChart for .NET是Steema软件公司最新推出的一个图表控件,它在微软的VS.Net编译环境中发挥巨大的作用,就像TeeChart 的Pro版本一样,TeeChart for .NET因其强大的功能而广受好评图表,它提...

netkongjian
2014/04/25
197
0

没有更多内容

加载失败,请刷新页面

加载更多

会用python把linux命令写一遍的人,进大厂有多容易?

看过这篇《2000字谏言,给那些想学Python的人,建议收藏后细看!》的读者应该都对一个命令有点印象吧?没错,就是 linux 中经常会用到的 ls 命令。 文章中我就提到如何提升自己的 python 能力...

上海小胖
9分钟前
1
0
HashMap的特性

一、hashmap数据结构:哈希表结构:数组+链表 hashmap调用默认构造方法会产生一个默认底层是长度为16的Entry数组,首先调用key的hasCode()方法来得到一个整数, int hash = hash(key.hashCode...

GGbird
9分钟前
2
0
第五章 spring-connet之Imports注解来龙去脉

前言 imports是一个在spring体系里非常重要的注解,基本每个Enable开头的注解必然有一个import注解。接下来我们深入研究下import的作用。看小节的同学建议先取看PostProcessorRegistrationDe...

鸟菜啊
12分钟前
1
0
CentOS部署Harbor镜像仓库

关于Harbor Harbor是用于存储和分发Docker镜像的镜像仓库服务,相比Docker Registry,Harbor在安全、标识、管理等方面做了增强,更适合企业使用; 官方网站:https://goharbor.io/ 官方开源:...

程序员欣宸
17分钟前
1
0
JavaScript调试必会的8个console方法

每个JavaScript开发者都用过console.log()来调试程序,但实际上Console对象还提供了很多其他方法可以提高调试效率。本文将介绍8个有趣的Console方法,即使JavaScript老手也不一定知道! 1、c...

汇智网教程
39分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部