精华内容
下载资源
问答
  • 关系就是之间联系,在Access中,是在两表的公共字段创建联系性。关系通过匹配键字段中数据来完成,键字段通常是两个中使用相同名称字段
  • 1.Access数据库属于什么类型数据库?答:属于关系模型数据库2.Access数据库文件扩展名?其中哪个对象不放在数据库?...二维5 关系数据库管理系统能实现专门关系运算包括哪些?答:选择投影连接(p18)6...

    1.Access数据库属于什么类型的数据库?答:属于关系模型数据库

    2.Access数据库文件的扩展名?其中哪个对象不放在数据库中?

    答:拓展名为 .mdb 数据访问页不在数据库中

    3 数据库的独立性指什么?

    答:数据与程序间互不依赖。包括数据的物理独立性和逻辑独立性。(P5)

    4 在关系数据库系统中,一个关系相当于什么?二维表

    5 关系数据库管理系统能实现的专门关系运算包括哪些?

    答:选择投影连接(p18)

    6 在ACCESS中,空数据库是指什么?

    答:不含有任何数据的连续存储空间。

    7 数据管理技术经历了哪三个发展阶段?

    答:人工管理文件系统数据库系统

    8 数据库系统的外模式可以有几个?答:n个(p9)

    9Access数据库的对象类型主要有哪几个?默认对象是什么?数据模型的三要素是什么?

    答:对象类型:表查询窗体报表宏页模块;默认对象:表;三要素:数据结构数据操作数据的约束条件(p35)

    10 关系数据库中,实现表与表之间的联系是通过什么来完成的?

    答:参照完整性

    11在一个关系中不可能出现两个相同的元组是通过什么完整性规则实现的?答:实体完整性规则(p20)

    12关系模型中有三类完整性约束,是不是所有的关系模型必须满足这三类完整性约束条件?答:不是

    13 字段的什么属性可以防止非法数据输入到表中?答:有效性规则

    14在关系数据模型中,二维表的行称为关系的什么?二维表的列称为关系的什么?答:记录;字段

    15OLE对象以“嵌入”方式与“链接”方式插入到表中时,对象的修改会不会反映到对象的源文件中,对象源文件的修改会不会反映到数据表中?答:嵌入方式:不会不会;链接方式:会会

    16 在查询设计器的查询设计网格中的字段列表值选项主要包括哪些?

    答:字段、表、排序、显示、条件、或

    17 在Access的数据表中追加一条记录将追加到表的什么位置?答:最下方

    18 数据表的复制?答:复制粘贴拖动复制

    19select语句中定义了别名的表,在同一语句中再次引用时必须使用别名,字段是不是也是如此?答:不是

    20除了从表中选择数据外,还对表中数据进行修改的一种查询是什么查询?答:操作查询

    展开全文
  • 但也有人说,access的表格和查询,设计者自己清楚内部逻辑关系表间联系,使用起来会觉得方便,但其它使用者,林林总总数据堆积眼前使人眼花缭乱。他们可能只需要表或者查询中的一部分信息...

    access实在是一个很好用的数据库。基本上,会用excel表格的,就可以操作access中的表格,二者还可以导入导出,贴来贴去,方便得很。在表的基础上,查询一建立起来,那么各种统计功能基本都可以轻松地实现了。

    但也有人说,access的表格和查询,设计者自己清楚内部的逻辑关系和表间联系,使用起来会觉得方便,但其它的使用者,林林总总的数据堆积在眼前使人眼花缭乱。他们可能只需要表或者查询中的一部分信息,其它不需要的信息对于他们都是没用的甚至干扰他们寻找自己想要的信息,这个时候,如果呈现在人们眼前的是一个干净的、简洁的、只含有人们需要的信息的“画面”,那就会轻松很多。工作效率可能就会达到质的变化。

    所以,如果你的access数据库只是自己用,那么掌握了表和查询足以。但如果你还要给别人看,或者你对自己要求高点,不管给不给别人看,自家的宝贝都得看起来好看,那么,窗体设计还是要学的。

    先从最简单的说起。

    首先,你得先建立一个窗体界面,这个界面上要有你想要的信息(字段),这些信息来自于之前建立的表或者查询。

    于是,你在菜单栏(写着“文件”、“开始”的那一行)里找到“设计”,点它一下,下面一行的工具栏就变成了设计栏的内容,在这一栏中,找到右手边下面写着“工具”的一组选项,选择“添加现有字段”。

    点下去时,你发现:这个小方块的底色变成了红色,这表示它被选中了(被翻牌子了)。然后“哗啦”一下,整个工作区的右边,亮出一块白色的竖条,上写四个大字:字-段-列-表!

    什么意思?干什么的?别忘了,这会儿你的窗体界面还是白板一块呢!得往上写点什么吧?自己动手往上写?要那么麻烦你还学它干什么?这字段列表就是方便的。仔细看下边,还有一行小字:显示所有表。蓝色,有下划线,光标放上去就变小手掌了。有门!能点!

    你大着胆子点开它,你库里所有的表的名字都列出来了,表名前还都有小加号。你又把一张表前的小加号点开,这张表里所有的字段名又都列在表名下了。

    于是,你明白了:这是把所有表里所有的字段都做了牌子呈上来,朕选了谁,谁就能在窗体里露上一脸,哈哈哈哈哈哈哈

    定定神,先想好要在窗体里放些什么。明君与昏君,高手和低手的差别就显示在这放与不放之间:该有的一个也不能少,不该有的绝对不能出现,拉关系走后门也不行!

    好了,凝神静思片刻,你主意已定,目聚如电,下手如神,刷刷刷刷,选好了某个表中的某些字段。

    选的时候,你发现在字段名上双击,它们就出现在了窗体的设计界面上,还是一拖二:前面一个小的,灰色字体,这是标签,后面大的,黑色字体,叫文本框。它们什么区别呀?为什么一来就来俩啊?不知道,那就先记着,做完再看。

    选的时候,你又发现,第一个选的表,所有的字段都能选(但你可以不选),和这张表建立了联系的表,字段也能选,没联系的,就不行了,除非再建立关联。

    字段选好了,在界面上堆在一起,看着不好看,于是你一个一个点中,拖着它们左上角的小灰方块,让它们站好队,这下看着整洁多了。

    字段安排好了,可是你左看右看,都看不出它和之前的数据表有什么关系。别着急,看到左上角写着“视图”的那个地方了吗?点一下,出现了一个下拉菜单,设计视图前面的图标红着,表示现在是在设计状态下,点一下最上面的窗体视图,进入实用状态。

    看到了吗?活色生香的窗体出现了。估计现在你不会问我窗体和表格什么关系了,因为现在窗体的文本框里正显示着表格里的某一条记录。而且随便点入一个文本框,按键盘上的“page down”键,所有文本框同步翻到表格里的下一条记录。

    估计你现在也不会问我标签和文本框什么区别了,在窗体里,标签显示字段名,不随光标变化,而文本框显示字段的内容,光标点入后可以更改里面的文字,这时数据表里相应的信息也会被更改。

    好了,这样,一个基本的窗体就建成了。

    展开全文
  • DataSet 表示整个数据集(相当于实体数据库),其中包含数据表以及表间关系(约束)。我们完全可以通过编程方式内存构建自己数据库。 一、创建数据集(DataSet) 1、可以通过调用 DataSet 构造函数来...

    如有需要请参阅官方帮助:数据集、数据表和数据视图

    ADO.NET DataSet 是数据的一种内存驻留表示形式,无论它包含的数据来自什么数据源,都会提供一致的关系编程模型。 DataSet 表示整个数据集(相当于实体的数据库),其中包含数据表(DataTable)、表间关系(DataRelation)和约束(Constraint)。我们完全可以通过编程的方式在内存中构建自己的数据库。

    一、创建数据集(DataSet)

    1、可以通过调用 DataSet 构造函数来创建 DataSet 的实例

    如使用无参数构造函数:

    Dim dst As New DataSet()
    dst.DataSetName = "mydst"
    

    或指定一个名称参数:

    Dim dst As New DataSet("mydst")
    

    这两种实例化DataSet得到的结果是一样的。
    如果没有为 DataSet 指定名称,则该名称会设置为“NewDataSet”。如图:
    默认的DataSet名称

    2、也可以基于现有的 DataSet 来创建新的 DataSet

    如:

            Dim dst As New DataSet("mydst")
            Dim dst1 As DataSet = dst
    

    二、在数据集(DataSet)中管理数据表(DataTable)

    可以通过DataSet对象的Tables属性管理数据表(DataTable)。
    DataSet对象的Tables属性可以获取包含在 DataSet 中的表的集合(DataTableCollection)。如果 DataTable 对象不存在,将返回空集合。

    1、将数据表添加到数据集中

    若要将表添加到DataSet中,可以使用DataTableCollection集合的Add方法。如图:
    将数据表添加到数据集中

    (1)、使用无参数的Add方法

    示例代码源自官网源码改编:

    Dim table As DataTable
    
            Dim thisDataSet As New DataSet()
            Dim i As Integer
            For i = 0 To 2
                thisDataSet.Tables.Add()
            Next i
    
            Dim strshow As String = thisDataSet.Tables.Count.ToString() & " tables" & Environment.NewLine & "TableName" & Environment.NewLine
            For Each table In thisDataSet.Tables
                strshow &= table.TableName & Environment.NewLine
            Next
            MessageBox.Show(strshow)
    

    因为不指定任何名称,所以DataTable使用默认名称,根据其添加顺序, 默认名称为"Table1"、“Table2”……。如图:
    DataTable的默认名称

    (2)、Add(DataTable)方法

    首先需要实例化DataTable对象。与创建 DataSet 一样,可以通过调用 DataTable构造函数来创建DataTable的实例。
    如使用无参数构造函数:

    Dim dt As New DataTable()
    dt.TableName = "mytable"
    

    或指定表名:

    Dim dt As New DataTable("mytable")
    

    效果是一样的,如果没有指定表名,则其表名为空字符串。
    当然也可以基于现有的 DataTable 来创建新的DataTable实例。

           Dim dt As New DataTable("mytable")
            Dim dt1 As DataTable = dt
    

    获得DataTable的实例后,就可以把该实例添加到DataSet中。

            Dim dt As New DataTable("mytable")
            Dim dst As New DataSet()
            dst.Tables.Add(dt)
    

    (3)、Add(String)方法

    Add(String)方法使用指定名称创建一个 DataTable 对象,并将其添加到DataSet中。如:

            Dim dst As New DataSet()
            dst.Tables.Add("mytable")
    

    2、将数据表从数据集中移除

    (1)、移除指定的 DataTable 对象

    使用DataTableCollection集合的Remove方法可以移除指定的 DataTable 对象。

    Dim dt As New DataTable("mytable")
            Dim dst As New DataSet()
            dst.Tables.Add(dt)
            dst.Tables.Add("mytable1")
            
            If dst.Tables.Contains("mytable1") And dst.Tables.CanRemove(dst.Tables("mytable1")) Then
                dst.Tables.Remove("mytable1") '参数为表名称的字符串
            End If
    
            If dst.Tables.Contains(dt.TableName) And dst.Tables.CanRemove(dst.Tables(dt.TableName)) Then
                dst.Tables.Remove(dt) '参数为DataTable对象
            End If
    

    代码中使用Contains方法判断该表名是否存在和CanRemove方法判断该表是否可以移除,再进行移除,防止出错。

    (2)、清除所有 DataTable 对象

    使用DataTableCollection集合的Clear方法可以一次性清除所有 DataTable 对象且不会引发错误。

    dst.Tables.Clear()
    

    三、定义表结构

    1、在数据表中管理列

    使用DataTable对象的Columns属性来管理列(DataColumn 对象),DataTable对象的Columns属性值是一个 DataColumnCollection,包含该表的 DataColumn 对象的集合。

    (1)、向数据表中添加列

    使用DataColumnCollection集合的Add方法向数据表添加列,Add有多个重载的版本。如:
    向数据表中添加列的Add方法

    A、使用Add()或Add()或Add(DataColumn)方法

    必须先实例化一个 DataColumn 对象。 DataColumn 对象有多个构造函数,如:
    DataColumn 对象的构造函数
    通过构造函数初始化DataColumn 对象的一些属性,如:数据的类型(DataType)、列的名称(ColumnName)等。
    示例代码先取得DataColumn实例,再用Add方法将DataColumn实例添加到DataTable对象中:

    Dim dt As New DataTable("mytable")
    
            Dim colstring As New DataColumn()
            colstring.DataType = Type.GetType("System.String")
            colstring.ColumnName = "stringcol"
            dt.Columns.Add(colstring)
    
            Dim colInt32 As DataColumn = New DataColumn("Int32Col", Type.GetType("System.Int32"))
            dt.Columns.Add(colInt32)
    

    B、使用Add(String)或Add(String, Type)方法

    不需要取得DataColumn实例,而是向Add方法传入参数,在方法内部自行构造DataColumn实例。可以使代码更简洁,如:

            Dim dt As New DataTable("mytable")
            dt.Columns.Add("BooleanCol").DataType = Type.GetType("System.Boolean")
            dt.Columns.Add("BooleanCol", Type.GetType("System.Boolean"))
    

    这两个Add方法添加列效果是一样的。

    (2)、在数据表中移除列

    A、移除指定列

    Remove(DataColumn)方法可以移除指定的 DataColumn 对象。
    Remove(String) 方法可以移除具有指定名称的 DataColumn 对象。

    Dim dt As New DataTable("mytable")
    
            Dim colstring As New DataColumn()
            colstring.DataType = Type.GetType("System.String")
            colstring.ColumnName = "stringcol"
            dt.Columns.Add(colstring)
    
            Dim colInt32 As DataColumn = New DataColumn("Int32Col", Type.GetType("System.Int32"))
            dt.Columns.Add(colInt32)
    
            If dt.Columns.Contains(colstring.ColumnName) And dt.Columns.CanRemove(colstring) Then
                dt.Columns.Remove(colstring)
            End If
    
            If dt.Columns.Contains("Int32Col") And dt.Columns.CanRemove(dt.Columns("Int32Col")) Then
                dt.Columns.Remove("Int32Col")
            End If
    

    本示例代码先添加列,然后使用Contains方法,确定是否存在已命名的列。 再用 CanRemove方法检查是否可以删除列,如果满足则使用Remove方法将其删除。

    B、移除全部列

    使用DataColumnCollection的Clear方法可以一次性清除全部列而不会引发错误。

    dt.Columns.Clear()
    

    (3)、添加表达式列

    使用DataColumn对象的Expression 属性设置表达式,如下代码直接将Expression 属性值用作第三个参数传递给DataColumn构造函数:

    dt.Columns.Add("Total",Type.GetType("System.Double"))  
    dt.Columns.Add("SalesTax", Type.GetType("System.Double"), _  
      "Total * 0.086")  
    

    可以使用 ColumnName 属性在表达式中引用其他列(Total),需要注意的是用于表达式列的 DataType 必须适合于表达式将返回的值(即Total列和SalesTax列的数据类型应该一致),还要注意不能循环引用列,否则会引发异常。

    (4)、添加自动递增列

    若要创建自动递增列,需将DataColumn对象的AutoIncrement属性值设置为true。 并利用AutoIncrementSeed属性设置起始值(默认值为 0),利用AutoIncrementStep属性设置自动递增的数值(默认值为 1)。同时最好把ReadOnly属性设置为true。
    以下示例演示了如何创建从值 200 开始并以 3 为增量递增的列。

    Dim workColumn As DataColumn = workTable.Columns.Add( _  
        "CustomerID", typeof(Int32))  
    workColumn.AutoIncrement = true  
    workColumn.AutoIncrementSeed = 200  
    workColumn.AutoIncrementStep = 3  
    

    2、定义数据表约束

    (1)、定义主键

    使用DataTable对象的PrimaryKey属性获取或设置用作数据表主键的列数组。
    特别注意,DataTable对象的PrimaryKey属性接收作为其值的一个或多个DataColumn对象的数组,也就是说其值是一个数据类型为DataColumn的数组。
    以下示例将单独一列设置为主键:

    dt.PrimaryKey = New DataColumn() {workTable.Columns("CustID")}  
      
    ' Or  
      
    Dim columns(1) As DataColumn  
    columns(0) = workTable.Columns("CustID")  
    dt.PrimaryKey = columns  
    

    下面的示例将两列定义为主键:

    workTable.PrimaryKey = New DataColumn() {workTable.Columns("CustLName"), _  
                                             workTable.Columns("CustFName")}  
      
    ' Or  
      
    Dim keyColumn(2) As DataColumn  
    keyColumn(0) = workTable.Columns("CustLName")  
    keyColumn(1) = workTable.Columns("CustFName")  
    workTable.PrimaryKey = keyColumn
    

    (2)、空值约束

    使用DataColumn对象的AllowDBNull属性获取或设置一个值,该值指示对于属于该表的行,此列中是否允许空值。如果允许空值,则为 true;否则为 false。 默认值为 true。
    下面的示例创建一个新DataColumn,并设置其AllowDBNull属性设置为true。

    Private Sub AddNullAllowedColumn()
        Dim column As DataColumn
        column = New DataColumn("classID", _
            System.Type.GetType("System.Int32"))
        column.AllowDBNull = True
    
        ' Add the column to a new DataTable.
        Dim table As DataTable
        table = New DataTable
        table.Columns.Add(column)
    End Sub
    

    (3)、默认值约束

    使用DataColumn对象的DefaultValue属性在创建新行时获取或设置列的默认值。
    下面的示例将创建多个数据类型不同的DataColumn对象,并为每个列设置相应默认值。

    Private Sub CreateColumns()
        Dim column As DataColumn
        Dim table As New DataTable
     
        column = New DataColumn
        With column
           .DataType = System.Type.GetType("System.String")
           .DefaultValue = "Address"
           .Unique = False
        End With
        table.Columns.Add(column)
        
        column = New DataColumn
        With column
           .DataType = System.Type.GetType("System.Int32")
           .DefaultValue = 100
        End With
        table.Columns.Add(column)
     
        column = New DataColumn
        With column
           .DataType = System.Type.GetType("System.DateTime")
           .DefaultValue = "1/1/2001"
        End With
        table.Columns.Add(column)
     
        Dim row As DataRow
        ' Add one row. Since it has default values, 
        ' no need to set values yet.
        row = table.NewRow
       
        table.Rows.Add(row)
     End Sub
    

    (4)、唯一约束

    可以使用DataColumn对象的Unique属性获取或设置一个值,该值指示列的每一行中的值是否必须是唯一的。如果值必须是唯一的,则为 true;否则为 false。 默认值为 false。如:

     Private Sub AddColumn(table As DataTable)
            Dim column As DataColumn = New DataColumn("Total")
            column.DataType = System.Type.GetType("System.Decimal")
            column.ReadOnly = True '只读
            column.Expression = "UnitPrice * Quantity" '表达式
            column.Unique = False '唯一约束
    End Sub
    

    如果要对多个列集合定义唯一约束,应该使用UniqueConstraint类,UniqueConstraint类有多个构造函数进行实例化。通常使用UniqueConstraint(String, DataColumn)构造函数为单列定义唯一约束,使用UniqueConstraint(String, DataColumn[])构造函数为多列集合定义唯一约束。然后使用ConstraintCollection对象的Add方法将约束添加到表中(DataTable对象的Constraints属性可以获得一个 ConstraintCollection,包含该表的 Constraint 对象的集合)。
    单独列的唯一约束:

    Private Sub CreateUniqueConstraint(ByVal dataSetSuppliers As DataSet)
            Dim uniqueConstraint As UniqueConstraint
            Dim dataColumn As DataColumn
            dataColumn = dataSetSuppliers.Tables("Suppliers").Columns("SupplierID")
    
            uniqueConstraint = New UniqueConstraint("supplierIdConstraint", dataColumn)
    
            dataSetSuppliers.Tables("Suppliers").Constraints.Add(uniqueConstraint)
        End Sub
    

    多列的唯一约束:

    Private Sub AddUniqueConstraint(ByVal dataTable As DataTable)
            Dim dataColumns(1) As DataColumn
            dataColumns(0) = dataTable.Columns("ID")
            dataColumns(1) = dataTable.Columns("Name")
    
            Dim uniqueConstraint As New UniqueConstraint("idNameConstraint", dataColumns)
            dataTable.Constraints.Add(uniqueConstraint)
        End Sub
    

    (5)、定义外键

    通过创建ForeignKeyConstraint类来定义外键。ForeignKeyConstraint(String, DataColumn, DataColumn)构造函数可以创建单列的外键关系,ForeignKeyConstraint(String, DataColumn[], DataColumn[])构造函数可以创建多列的外键关系。
    下面的示例创建一个新ForeignKeyConstraint,设置的某些属性,并将其添加到DataTable对象的ConstraintCollection。

      Private suppliersProducts As SuppliersProducts
    
    Private Sub CreateConstraint()
      
       Dim parentColumn As DataColumn
       Dim childColumn As DataColumn
       Dim fkeyConstraint As ForeignKeyConstraint
    
       parentColumn = _
           suppliersProducts.Tables("Suppliers").Columns("SupplierID")
       childColumn = _
           suppliersProducts.Tables("Products").Columns("SupplierID")
       fkeyConstraint = New ForeignKeyConstraint( _
           "SupplierFKConstraint", parentColumn, childColumn)
    
       With fkeyConstraint
          .DeleteRule = Rule.SetNull
          .UpdateRule = Rule.Cascade
          .AcceptRejectRule = AcceptRejectRule.Cascade
       End With
    
       suppliersProducts.Tables("Products").Constraints.Add(fkeyConstraint)
       suppliersProducts.EnforceConstraints = True
    End Sub
    

    或多列:

    Private Sub CreateConstraint(ByVal suppliersProducts As DataSet)
        Dim parentColumns(1) As DataColumn
        Dim childColumns(1) As DataColumn
        Dim fkConstraint As ForeignKeyConstraint
    .
        parentColumns(0) = _
            suppliersProducts.Tables("OrderDetails").Columns("OrderID")
        parentColumns(1) = _
            suppliersProducts.Tables("OrderDetails").Columns("ProductID")
        childColumns(0) = _
            suppliersProducts.Tables("Sales").Columns("OrderID")
        childColumns(1) = _
            suppliersProducts.Tables("Sales").Columns("ProductID")
        fkConstraint = New ForeignKeyConstraint( _
            "ProductSalesOrders", parentColumns, childColumns)
    
        With fkConstraint
            .DeleteRule = Rule.SetDefault
            .UpdateRule = Rule.Cascade
            .AcceptRejectRule = AcceptRejectRule.Cascade
        End With
    
        suppliersProducts.Tables("OrderDetails").Constraints.Add( _
            fkConstraint)
        suppliersProducts.EnforceConstraints = True
    End Sub
    

    说明 :
    A、DataSet对象的EnforceConstraints属性可以获取或设置一个值,该值指示在尝试执行任何更新操作时是否遵循约束规则。如果强制执行规则为true ;否则为false。 默认值为 true。
    B、ForeignKeyConstraint类的DeleteRule和UpdateRule属性可以定义当用户尝试删除或更新相关表中的行时采取的操作。
    规则设置 描述
    Cascade 删除或更新相关的行。
    SetNull 在相关的行中设置值DBNull。
    SetDefault 将相关行中的值设置为默认值。
    None 对相关行不执行任何操作。 这是默认设置。
    C、ForeignKeyConstraint类的AcceptRejectRule属性调用AcceptChanges或RejectChanges方法时采取的操作。
    规则设置 描述
    Cascade 接受或拒绝对子行的更改。
    None 对子行不执行任何操作。 这是默认设置。

    (6)、添加 DataRelation关系

    表示两个 DataTable 对象之间的父/子关系。下面的示例创建一个新DataRelation并将其添加到DataSet对象的DataRelationCollection集合中。

    Private Sub CreateRelation()
        ' Get the DataColumn objects from two DataTable objects 
        ' in a DataSet. Code to get the DataSet not shown here.
        Dim parentColumn As DataColumn = _
            DataSet1.Tables("Customers").Columns("CustID")
        Dim childColumn As DataColumn = DataSet1.Tables( _
            "Orders").Columns("CustID")
    
        ' Create DataRelation.
        Dim relCustOrder As DataRelation
        relCustOrder = New DataRelation( _
            "CustomersOrders", parentColumn, childColumn)
    
        ' Add the relation to the DataSet.
        DataSet1.Relations.Add(relCustOrder)
    End Sub
    

    (7)、移除约束

    ConstraintCollection.Remove方法可以移除指定的约束,参数可以为 Constraint对象或 Constraint对象的名称字符串。

    Private Sub RemoveConstraint(table As DataTable, _
        constraint As Constraint)
    
        If table.Constraints.Contains(constraint.ConstraintName) Then
            If table.Constraints.CanRemove(constraint) Then
                table.Constraints.Remove(constraint)
            End If
        End If
    End Sub
    

    Private Sub RemoveConstraint _
        (constraints As ConstraintCollection, constraint As Constraint)
    
        If constraints.Contains(constraint.ConstraintName) Then
            If constraints.CanRemove(constraint) Then
                constraints.Remove(constraint.ConstraintName)
            End If
        End If
    End Sub
    

    使用Remove方法之前,可以使用Contains方法,以确定集合是否包含目标Constraint,用CanRemove方法,以确定Constraint是否可以删除。
    ConstraintCollection.RemoveAt(Int32)方法可以移除指定索引号的约束。下面的示例使用IndexOf一起使用的方法RemoveAt方法中删除的约束ConstraintCollection。

    Private Sub RemoveConstraint _
        (constraints As ConstraintCollection, constraint As Constraint)
    
        Try
            If constraints.Contains(constraint.ConstraintName) Then
                If constraints.CanRemove(constraint) Then
                    constraints.RemoveAt _
                        (constraints.IndexOf(constraint.ConstraintName))
                End If
            End If
    
        Catch e As Exception
            ' Process exception and return.
            Console.WriteLine("Exception of type {0} occurred.", _
                e.GetType().ToString())
        End Try
    End Sub
    

    ConstraintCollection.Clear方法可以一次性清除所有的约束。

    Public Shared Sub ClearConstraints(dataSet As DataSet) 
       Dim table As DataTable
       For Each table In dataSet.Tables
         table.Constraints.Clear()
       Next
    End Sub
    

    四、大小写规则

    DataSet 中可以存在两个或两个以上的同名但是大小写不同的表、关系或约束。 在这种情况下,通过名称对表、关系或约束的引用将区分大小写。 例如,如果DataSet数据集包含表Table1和table1,正确的引用为dataSet.Tables[“Table1”]和dataSet.Tables[“table1”]。 而dataSet.Tables[“TABLE1”] 会生成异常。
    但如果只有一个具有特定名称的表、关系或约束,则不区分大小写。 例如,如果DataSet只有Table1,您可以使用dataSet.Tables[“TABLE1”]引用它。

    五、命名空间支持

    在 2.0 之前的 ADO.NET 版本中,两个表即使处于不同的命名空间中也不能同名。 ADO.NET 2.0 中取消了此限制。 DataSet 可以包含具有相同 TableName 属性值但是具有不同 Namespace 属性值的两个表。
    到此,一个内存数据库框架已经搭建完成。

    展开全文
  • 2.掌握在Access2007数据库创建表各种方法;3.掌握表结构维护方法;4.学会分析E-R图,掌握编辑表间关系的方法;5.熟悉各种输入数据方法。二、实验内容及原理实验01.创建空白数据库。在“d:\Access\...

    学院

    工商管理

    年级、专

    业、班

    人力

    152

    姓名

    学号

    实验课程名称

    数据库技术及应用

    II

    成绩

    实验项目名称

    表的创建和操作

    指导

    老师

    一、实验目的

    1.

    掌握

    Access

    2007

    数据库的创建方法;

    2.

    掌握在

    Access 2007

    数据库中创建表的各种方法;

    3.

    掌握表结构的维护方法;

    4.

    学会分析

    E-R

    图,掌握编辑表间关系的方法;

    5.

    熟悉各种输入数据的方法。

    二、实验内容及原理

    实验

    01.

    创建空白数据库。在“

    d:\Access\

    我的系统”目录下创建一个空白的

    Access 2007

    数据库,命名

    为“高校图书馆管理系统”

    实验

    02.

    在数据表视图中向表内添加字段。在数据表视图中,通过添加表字段和数据来创建“读者类

    型权限”表和“图书类型”表。

    实验

    03.

    使用设计视图创建表。在设计视图中,创建指定字段及其数据类型的“学院”表和“管理员”

    表,并定义表的主键。

    实验

    04.

    使用表模板创建表。使用“联系人”和“事件”模板,分别创建“读者”表和“图书借阅”

    表。

    实验

    05.

    导入外部

    Excel

    文件创建表。将现有的

    Excel

    文件数据导入并生成新表“图书”表和“图书馆

    藏信息”表。

    实验

    06.

    维护表结构。在表的设计视图中,设置相关表字段的“字段大小”

    “格式”和“输入掩码”

    属性。

    实验

    07.

    维护表结构。在表的设计视图中,设置相关表字段的“默认值”

    “有效性规则”和“有效性

    文本”

    展开全文
  • 时 :2008-06-09 08:31:23作 者:摘 要:创建包含子窗体窗体(一对多窗体)正 文:处理关系数据时(这种情况下,相关数据存储单独的表中),您通常需要同一窗体查看来自多个或查询数据。例如,您想...
  • 201306ACCESS选择题参考答案0109、在关系数据模型,属性取值范围称为(B)。A.键B.域C.元组D.列0110、E-R图是一种重要数据库设计工具,它适用于建立数据库(A)。A.概念模型B.数学模型C.结构模型D.物理模型0111...
  • 格式,存取表格行和列 大块组合一起 数据相互关联,容易提取数据 数据无关联,易扩展 关系型数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。 NoSQL ...
  • 在做Access数据库设计时,常常直接在access文件建表,建字段,然后写设计文档时,又得重新再写一遍字段和表间关系。其实access数据库自己就支持自动生成数据库文档。 操作方法如下: 数据库工具 -> 数据库...
  • Access 2007 VBA宝典 1/4

    2012-03-31 08:12:09
     1.3.2 在Access中创建工作类型报表  1.4 小结  第2章 从Access中创建Word文档  2.1 使用TypeText.方法为Word文档填充Access数据  2.2 使用Word模板创建格式化Word文档  2.2.1 书签  2.2.2 文档...
  • Access 2007 VBA宝典 4/4

    2012-03-31 08:36:49
     1.3.2 在Access中创建工作类型报表  1.4 小结  第2章 从Access中创建Word文档  2.1 使用TypeText.方法为Word文档填充Access数据  2.2 使用Word模板创建格式化Word文档  2.2.1 书签  2.2.2 文档...
  • Access 2007 VBA宝典 2/4

    2012-03-31 08:22:16
     1.3.2 在Access中创建工作类型报表  1.4 小结  第2章 从Access中创建Word文档  2.1 使用TypeText.方法为Word文档填充Access数据  2.2 使用Word模板创建格式化Word文档  2.2.1 书签  2.2.2 文档...
  • Access 2007 VBA宝典 3/4

    2012-03-31 08:31:46
     1.3.2 在Access中创建工作类型报表  1.4 小结  第2章 从Access中创建Word文档  2.1 使用TypeText.方法为Word文档填充Access数据  2.2 使用Word模板创建格式化Word文档  2.2.1 书签  2.2.2 文档...
  • (一)学到了1 表的创建 2 表的维护 3表的管理 (二)心得体会创建表就是为了建立表间的关系可以有效的查找出你想要的信息(三)疑惑操作起来太繁琐了,难以掌控...
  • 13.6 应用自动化功能在Access中调用Outlook 415 13.6.1 创建Outlook邮件项目 416 13.6.2 在Access中创建Outlook任务项 417 13.6.3 从Access中向Outlook中输入联系人 419 13.6.4 从Access中删除Outlook中...
  • 第三周access课总结

    2019-09-28 18:28:39
    创建表就是为了建立表间关系可以有效查找出你想要信息。 3.存在着哪些疑惑? 操作起来太复杂了,难以掌控。 转载于:https://www.cnblogs.com/zhong1050440706/p/9062899.html...
  • 答:一转眼开学到现在已经过去了四周数时间了,我们知道,创建表之后要向表输入数据,但也有对表中的数据进行管理,这节课更熟悉掌握了表间关系的建立,懂得了数据表格式设置,以及如何去设置背景色以及...
  • Access数据库部份表结构修改:选中...记录删除:选中对应行【鼠标右键】→【删除记录(R)】→【是】2、按题目要求操作后【保存】两表间关系:1、菜单栏→【工具(T)】→【关系(R)】2、弹出的关系编辑框单击鼠标【...
  • 13.6 应用自动化功能在Access中调用Outlook 415 13.6.1 创建Outlook邮件项目 416 13.6.2 在Access中创建Outlook任务项 417 13.6.3 从Access中向Outlook中输入联系人 419 13.6.4 从Access中删除Outlook中联系人...
  • asp在线考试系统(asp+access实现)

    热门讨论 2009-04-04 19:34:08
    由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。SQL是PostgreSQL(和大多数其它关系型数据库)用做查询语言的语言。它是可以移植...
  • ┃ ┃ 题,表间可以相互转移,也可以将指定主题帖重新发布。基本上每步操作都 ┃ ┃ 用相应提示或说明,基本上可以不用借助任何第三方方工具或说明书。另 ┃ ┃ 外,由于原 Dvbbs 程序设计问题,主题...
  • 蓝牙术语一览

    千次阅读 2019-03-20 09:30:09
    名称 解释 BD 蓝牙设备 ...Access Point访问接入点 ...包含Bluetooth射频、基带、资源控制器、链路管理器、设备管理器及Bluetooth ...两个蓝牙设备建立新关系的过程,此过程将交换链路密钥(请求建立连接或连...
  • 导航表间关系:描述如何使用 DataSet 中表之间的关系来返回具有父子关系的子行或父行。 将 DataSet 与现有数据一起使用"描述如何使用 DataAdapter 将 DataSet 中的更改解析回数据源。 合并 DataSet 内容:描述如何将...
  • Access 2000使用心得(4)-深入理解查询

    千次阅读 2004-10-14 09:41:00
    一、深入理解查询a) 子查询:源于一个查询而不是表的查询b) 使用查询设计窗口准则:同一行上几个字段准则组成为“AND”关系,不同行为“OR”关系。(先同行,再下一行)“别名:字段名”格式可以为一个字段指定...
  • <br>此外、BDB提供了对开发语言支持、 其数据库结构定义文件采用XML标准格式、 并且开放了外部读取数据库结构源程序(C#/Delphi/JAVA)、 您可以通过使用BDB来简化软件开发和部署过程: <br>1...
  • MYSQL中文手册

    2013-03-11 21:21:34
    同一个数据库创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器性能 7.5.4. 编译和链接怎样影响MySQL速度 7.5.5. MySQL如何使用...
  • 利用Access创建表及表间关系,并填写表数据。 1.2 MySQL使用 问题: 1、用数据库Access过程说主表引用字段找不到唯一索引是怎么回事啊? 主表未设置主键,建立关系时就会这样显示。一般来说,主表...
  • MySQL 5.1中文手冊

    2009-12-11 09:43:12
    同一个数据库创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器性能 7.5.4. 编译和链接怎样影响MySQL速度 7.5.5. MySQL如何使用内存 ...
  • 同一个数据库创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器性能 7.5.4. 编译和链接怎样影响MySQL速度 7.5.5. MySQL如何使用内存 ...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 141
精华内容 56
关键字:

在access中表间的关系