Oracle10g数据库应用之ADO数据访问技术课件_第1页
Oracle10g数据库应用之ADO数据访问技术课件_第2页
Oracle10g数据库应用之ADO数据访问技术课件_第3页
Oracle10g数据库应用之ADO数据访问技术课件_第4页
Oracle10g数据库应用之ADO数据访问技术课件_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle10g数据库应用教程

授课教师:职务:Oracle10g数据库应用教程授课教师:第11章ADO数据访问技术课程描述ADO是目前比较流行的数据库访问技术。它使用更加简单灵活的对象模型,适用于各种程序设计语言。在本书实例中,使用VisualBasic开发的实例就是基于ADO数据访问技术实现的。第11章ADO数据访问技术课程描述本章知识点ADO数据模型数据库访问控件常用ADO对象本章知识点ADO数据模型11.1ADO数据模型ADO提供执行以下操作方式:连接到数据源。指定访问数据源的命令,可以在命令中指定参数。通常涉及ADO的Command对象。执行命令,例如一个SELECT脚本。在适当情况下,可以把缓存行的更改内容写回数据库中,更新数据源。提供常规方法检测错误(错误通常由建立连接或执行命令造成),涉及ADO的Error对象。11.1ADO数据模型ADO提供执行以下操作方式:ADO编程模型的元素(1)连接。(2)命令。(3)参数。(4)记录集。(5)字段。(6)错误。(7)属性。(8)集合。(9)事件。ADO编程模型的元素(1)连接。ADO支持以下4种类型的集合

①Connection对象具有Errors集合,包含响应与数据源有关的单一错误而创建的所有Error对象。②Command对象具有Parameters集合,包含应用于Command对象的所有Parameter对象。③Recordset对象具有Fields集合,包含Recordset对象中所有列的Field对象。④此外,Connection、Command、Recordset和Field对象都具有Properties集合,它包含各个对象的Property对象。ADO支持以下4种类型的集合①Connection对象具ADO支持以下两种事件①ConnectionEvents。ConnecttionEvents事件在以下情况下发生:连接中的事务开始、被提交或被回滚。执行命令。连接的开始或结束。此事件用于对连接状态变化的报告。②RecordsetEvents。RecordsetEvents事件在以下情况下发生:在Recordset对象的行中进行定位。更改记录集行中的字段。更改记录集中的行。在整个记录集中进行更改。ADO支持以下两种事件①ConnectionEvents。11.2数据库访问控件ADOData控件。DataList控件。DataCombo控件。DataGrid控件。11.2数据库访问控件ADOData控件。11.2.1ADOData控件(1)选择“工程”菜单中的“部件”命令,打开“部件”属性对话框。(2)在控件列表中,查找并选择MicrosoftADODataControls6.0(OLEDB),如图11.1所示。如果在列表中没有此选项,请下载并安装VisualBasic6.0的升级补丁(VS6SP5)。(3)单击“确定”按钮,可以看到ADOData控件的图标出现在“工具箱”中,如图11.2所示。11.2.1ADOData控件(1)选择“工程”菜单中ADOData控件的常用属性BOFConnectionStringConnectionTimeoutEOFMaxRecordsModePasswordRecordsetRecordSource、UserNameADOData控件的常用属性BOF【例11.1】ADOData控件的示例程序在窗体FormMain中使用一个ADOData控件读取表Users中的数据,并通过文本框显示各个字段的数据。单击ADOData控件中的前后移动按钮,可以改变当前记录的位置,文本框的内容也会自动地发生变化。【例11.1】ADOData控件的示例程序在窗体设置主窗体属性属性说明(名称)FormMainBorderStyle1–FixedSingleCaption显示部门信息StartUpPosition2–屏幕中心设置主窗体属性属性说明(名称)FormMainBorderS设置ADOData控件的属性在窗体FrmMain中添加控件ADOData,控件名为Adodc1。右键单击ADOData控件,选择菜单中的“ADODC属性”命令,打开“属性页”窗口,设置ADOData控件的属性在窗体FrmMai设置ADO控件属性在“连接资源”选项中选择“使用连接字符串”,然后单击“生成”按钮,打开“数据链接属性”窗口。设置ADO控件属性在“连接资源”选项中选择“使用连接字符串”设置ADO控件属性选择“OracleProviderforOLEDB”,单击“下一步”按钮,打开“连接”页面。设置数据源为orcl,然后输入用户名USERMAN和对应的密码。设置ADO控件属性选择“OracleProviderfo设置标签和文本框的属性控件名属性设置值Label1Caption用户编号:Label2Caption用户名称:Text1DataSourceAdodc1DataFieldUSERIDText空Text2DataSourceAdodc1DataFieldUSERNAMEText空设置标签和文本框的属性控件名属性设置值Label1Capti11.2.2DataList控件和DataCombo控件选择“工程”菜单中的“部件”命令,打开“部件”属性对话框。在控件列表中,查找并选择MicrosoftDataListControls6.0(OLEDB。单击“确定”按钮,可以看到DataList控件和DataCombo控件的图标出现在“工具箱”中。11.2.2DataList控件和DataCombo控件DataList控件和DataCombo控件常用属性BoundColumnBoundTextDataFieldDataSourceListFieldRowSourceSelectedItemDataList控件和DataCombo控件常用属性Boun示例程序此工程包含一个窗体FormMain,窗体中包含了一个ADOData控件、一个DataCombo控件和一个DataList控件。DataCombo控件和DataList控件分别显示表Users中所有的用户名称。示例程序此工程包含一个窗体FormMain,窗体中包含了一个ADOData控件的属性属性设置值ConnectionStringProvider=OraOLEDB.Oracle.1;Password=USERMAN;PersistSecurityInfo=True;UserID=USERMAN;DataSource=orcl(可以由系统自动生成)CursorType2–adOpenDynamicRecordSourceSELECT*FROMUsersORDERBYUSERIDVisibleFalseADOData控件的属性属性设置值ConnectionStDataCombo控件的属性属性设置值RowSourceAdodc1ListFieldUserNameBoundColumnUserIdStyle2–dbcDropdownList(设置组合框的类型,用户只能选择组合框中的数据)DataCombo控件的属性属性设置值RowSourceAdDataList控件的属性属性设置值RowSourceAdodc1ListFieldUserNameDataList控件的属性属性设置值RowSourceAdo11.2.3DataGrid控件选择“工程”菜单中的“部件”命令,打开“部件”属性对话框。在控件列表中,查找并选择MicrosoftDataGridControls6.0(OLEDB)。11.2.3DataGrid控件选择“工程”菜单中的“部示例程序此工程名为DataGrid,包含两个窗体,一个是使用DataGrid控件显示数据的FormDataGrid窗体,这也是工程的主窗体;另一个是FormShowData窗体,它用来演示如何从DataGrid控件的表格中读取一行数据的具体内容。示例程序此工程名为DataGrid,包含两个窗体,一个是使用设置主窗体属性属性说明(名称)FormMainBorderStyle1–FixedSingleCaption用户信息表StartUpPosition2–屏幕中心设置主窗体属性属性说明(名称)FormMainBorderSADOData控件的属性属性设置值ConnectionStringProvider=OraOLEDB.Oracle.1;Password=USERMAN;PersistSecurityInfo=True;UserID=USERMAN;DataSource=orclCursorType2–adOpenDynamicRecordSourceSELECT*FROMUsersVisibleFalseADOData控件的属性属性设置值ConnectionSt添加DataGrid控件并设置属性添加DataGrid控件并设置属性设置列标题和数据字段列标题数据字段Column0用户编号USERIDColumn1用户名USERNAMEColumn2密码USERPWD设置列标题和数据字段列标题数据字段Column0用户编号UFormShowData窗体属性属性说明(名称)FrmShowDataBorderStyle1–FixedSingleCaption显示当前数据StartUpPosition2–屏幕中心FormShowData窗体属性属性说明(名称)FrmShFormShowData窗体FormShowData窗体11.3常用ADO对象Connection对象Command对象Recordset对象Field对象

11.3常用ADO对象Connection对象添加引用选择菜单“工程”/“引用”,打开“引用”对话框,在引用列表中选中“MicrosoftActivexDataObjects2.6Library”(不同环境下ADO的版本号可能不同)添加引用选择菜单“工程”/“引用”,打开“引用”对话框11.3.1Connection对象创建Connection对象的方法如下:

DimcnnAsNewADODB.Connection11.3.1Connection对象创建ConnectiConnectionString属性ConnectionString是连接字符串,指定用于建立连接数据源的信息。可以使用ODBC数据源来表示连接字符串,代码如下:

DimcnnAsNewADODB.Connectioncnn.ConnectionString="DSN=mydata;".\mydata是创建的ODBC数据源名。ConnectionString属性ConnectionStConnectionString属性可以通过直接设置数据源提供者(Provider)和数据库文件的方法表示连接字符串,代码如下:

DimcnnAsNewADODB.Connectioncnn.ConnectionString="Provider=OraOLEDB.Oracle.1;Password=USERMAN;PersistSecurityInfo=True;UserID=USERMAN;DataSource=orcl"UserID表示访问数据库的用户名,Password表示密码,DataSource表示数据库实例。ConnectionString属性可以通过直接设置数据源提ConnectionTimeout属性ConnectionTimeout属性指示在终止尝试和产生错误之前执行命令需等待的时间,默认值为30s。ConnectionTimeout属性ConnectionTMode属性Mode属性指定Connection对象修改数据的权限。常量说明adModeUnknown默认值。表明权限尚未设置或无法确定adModeRead表明权限为只读adModeWrite表明权限为只写adModeReadWrite表明权限为读/写adModeShareDenyRead防止其他用户使用读权限打开连接adModeShareDenyWrite防止其他用户使用写权限打开连接adModeShareExclusive防止其他用户打开连接adModeShareDenyNone防止其他用户使用任何权限打开连接Mode属性Mode属性指定Connection对象修改数据State属性State属性返回Connection对象的状态。常量说明adStateClosed默认,指示对象是关闭的adStateOpen指示对象是打开的adStateConnecting指示

Recordset对象正在连接adStateExecuting指示

Recordset对象正在执行命令adStateFetching指示

Recordset对象的行正在被读取State属性State属性返回Connection对象的状Open方法Open方法用于打开到数据源的连接。

connection.OpenConnectionString,UserID,Password,OptionsConnectionString是连接字符串。UserID是访问数据库的用户名。Password是密码。Options是连接选项。Open方法Open方法用于打开到数据源的连接。Close方法Close方法用于关闭到数据源的连接。访问数据库完成后,为了节省资源,需要将数据库连接关闭。Close方法Close方法用于关闭到数据源的连接。访问数据11.3.2Command对象它的常用属性和方法如下。ActiveConnection属性:通过设置ActiveConnection属性使打开的连接与Command对象关联。CommandText属性:定义命令(例如SQL语句)的可执行文本。Execute方法:执行在CommandText属性中指定的查询、SQL语句或存储过程。如果CommandText属性指定按行返回查询,执行所产生的结果将存储在新的Recordset对象中。如果该命令不是按行返回查询,则返回关闭的Recordset对象。11.3.2Command对象它的常用属性和方法如下。11.3.3Recordset对象Recordset对象的常用属性和方法如下。ActiveConnection属性:通过设置ActiveConnection属性使打开的连接与Command对象关联。AbsolutePosition属性:指定Recordset对象当前记录的序号位置。BOF、EOF属性:BOF指示当前记录位置位于Recordset对象的第一个记录之前。EOF指示当前记录位置位于Recordset对象的最后一个记录之后。MaxRecord属性:指定通过查询返回Recordset的记录的最大数目。例如只需要返回前10条记录时,可以将MaxRecord属性设置为10。RecordCount属性:返回Recordset对象中记录的当前数目。11.3.3Recordset对象Recordset对象常用方法Move方法:在记录集中移动指针。MoveFirst、MoveLast、MoveNext和MovePrevious方法:在指定的Recordset对象中移动到第一个、最后一个、下一个或前一个记录并使该记录成为当前记录。常用方法Move方法:在记录集中移动指针。Open方法使用Open方法可打开代表基本表、查询结果或者以前保存的Recordset中记录的游标。Open方法的语法如下:recordset.OpenSource,ActiveConnection,CursorType,LockType,OptionsSource是记录源,它可以是一条SQL语句、一个表或一个存储过程等。ActiveConnection指定相应的Connection对象。CursorType指定打开Recordset时使用的游标类型。LockType指定打开Recordset时应该使用的锁定类型。Options指定Source参数的类型。Open方法使用Open方法可打开代表基本表、查询结果或者以Open方法中Cursor属性的值常量说明adOpenForwardOnly(默认值)打开仅向前类型游标adOpenKeyset打开键集类型游标adOpenDynamic打开动态类型游标adOpenStatic打开静态类型游标Open方法中Cursor属性的值常量说明adOpenForOpen方法中Options属性的值常量说明adCmdText将

Source视为命令adCmdTable生成SQL查询从在Source中命名的表中返回所有行adCmdTableDirect直接从在Source中命名的表中返回所有行adCmdStoredProc将

Source视为存储过程adCmdUnknownSource参数中的命令类型为未知adCmdFile从在

Source中命名的文件中恢复保留(保存的)RecordsetOpen方法中Options属性的值常量说明adCmdTex11.3.4Field对象Field对象代表使用普通数据类型的数据的列,它的常用属性和方法如下。ActualSize属性:指示字段的值的实际长度。DefinedSize属性:指示Field对象所定义的大小。Name属性:指示对象的名称。Value属性:指示对象的值。11.3.4Field对象Field对象代表使用普通Oracle10g数据库应用教程

授课教师:职务:Oracle10g数据库应用教程授课教师:第11章ADO数据访问技术课程描述ADO是目前比较流行的数据库访问技术。它使用更加简单灵活的对象模型,适用于各种程序设计语言。在本书实例中,使用VisualBasic开发的实例就是基于ADO数据访问技术实现的。第11章ADO数据访问技术课程描述本章知识点ADO数据模型数据库访问控件常用ADO对象本章知识点ADO数据模型11.1ADO数据模型ADO提供执行以下操作方式:连接到数据源。指定访问数据源的命令,可以在命令中指定参数。通常涉及ADO的Command对象。执行命令,例如一个SELECT脚本。在适当情况下,可以把缓存行的更改内容写回数据库中,更新数据源。提供常规方法检测错误(错误通常由建立连接或执行命令造成),涉及ADO的Error对象。11.1ADO数据模型ADO提供执行以下操作方式:ADO编程模型的元素(1)连接。(2)命令。(3)参数。(4)记录集。(5)字段。(6)错误。(7)属性。(8)集合。(9)事件。ADO编程模型的元素(1)连接。ADO支持以下4种类型的集合

①Connection对象具有Errors集合,包含响应与数据源有关的单一错误而创建的所有Error对象。②Command对象具有Parameters集合,包含应用于Command对象的所有Parameter对象。③Recordset对象具有Fields集合,包含Recordset对象中所有列的Field对象。④此外,Connection、Command、Recordset和Field对象都具有Properties集合,它包含各个对象的Property对象。ADO支持以下4种类型的集合①Connection对象具ADO支持以下两种事件①ConnectionEvents。ConnecttionEvents事件在以下情况下发生:连接中的事务开始、被提交或被回滚。执行命令。连接的开始或结束。此事件用于对连接状态变化的报告。②RecordsetEvents。RecordsetEvents事件在以下情况下发生:在Recordset对象的行中进行定位。更改记录集行中的字段。更改记录集中的行。在整个记录集中进行更改。ADO支持以下两种事件①ConnectionEvents。11.2数据库访问控件ADOData控件。DataList控件。DataCombo控件。DataGrid控件。11.2数据库访问控件ADOData控件。11.2.1ADOData控件(1)选择“工程”菜单中的“部件”命令,打开“部件”属性对话框。(2)在控件列表中,查找并选择MicrosoftADODataControls6.0(OLEDB),如图11.1所示。如果在列表中没有此选项,请下载并安装VisualBasic6.0的升级补丁(VS6SP5)。(3)单击“确定”按钮,可以看到ADOData控件的图标出现在“工具箱”中,如图11.2所示。11.2.1ADOData控件(1)选择“工程”菜单中ADOData控件的常用属性BOFConnectionStringConnectionTimeoutEOFMaxRecordsModePasswordRecordsetRecordSource、UserNameADOData控件的常用属性BOF【例11.1】ADOData控件的示例程序在窗体FormMain中使用一个ADOData控件读取表Users中的数据,并通过文本框显示各个字段的数据。单击ADOData控件中的前后移动按钮,可以改变当前记录的位置,文本框的内容也会自动地发生变化。【例11.1】ADOData控件的示例程序在窗体设置主窗体属性属性说明(名称)FormMainBorderStyle1–FixedSingleCaption显示部门信息StartUpPosition2–屏幕中心设置主窗体属性属性说明(名称)FormMainBorderS设置ADOData控件的属性在窗体FrmMain中添加控件ADOData,控件名为Adodc1。右键单击ADOData控件,选择菜单中的“ADODC属性”命令,打开“属性页”窗口,设置ADOData控件的属性在窗体FrmMai设置ADO控件属性在“连接资源”选项中选择“使用连接字符串”,然后单击“生成”按钮,打开“数据链接属性”窗口。设置ADO控件属性在“连接资源”选项中选择“使用连接字符串”设置ADO控件属性选择“OracleProviderforOLEDB”,单击“下一步”按钮,打开“连接”页面。设置数据源为orcl,然后输入用户名USERMAN和对应的密码。设置ADO控件属性选择“OracleProviderfo设置标签和文本框的属性控件名属性设置值Label1Caption用户编号:Label2Caption用户名称:Text1DataSourceAdodc1DataFieldUSERIDText空Text2DataSourceAdodc1DataFieldUSERNAMEText空设置标签和文本框的属性控件名属性设置值Label1Capti11.2.2DataList控件和DataCombo控件选择“工程”菜单中的“部件”命令,打开“部件”属性对话框。在控件列表中,查找并选择MicrosoftDataListControls6.0(OLEDB。单击“确定”按钮,可以看到DataList控件和DataCombo控件的图标出现在“工具箱”中。11.2.2DataList控件和DataCombo控件DataList控件和DataCombo控件常用属性BoundColumnBoundTextDataFieldDataSourceListFieldRowSourceSelectedItemDataList控件和DataCombo控件常用属性Boun示例程序此工程包含一个窗体FormMain,窗体中包含了一个ADOData控件、一个DataCombo控件和一个DataList控件。DataCombo控件和DataList控件分别显示表Users中所有的用户名称。示例程序此工程包含一个窗体FormMain,窗体中包含了一个ADOData控件的属性属性设置值ConnectionStringProvider=OraOLEDB.Oracle.1;Password=USERMAN;PersistSecurityInfo=True;UserID=USERMAN;DataSource=orcl(可以由系统自动生成)CursorType2–adOpenDynamicRecordSourceSELECT*FROMUsersORDERBYUSERIDVisibleFalseADOData控件的属性属性设置值ConnectionStDataCombo控件的属性属性设置值RowSourceAdodc1ListFieldUserNameBoundColumnUserIdStyle2–dbcDropdownList(设置组合框的类型,用户只能选择组合框中的数据)DataCombo控件的属性属性设置值RowSourceAdDataList控件的属性属性设置值RowSourceAdodc1ListFieldUserNameDataList控件的属性属性设置值RowSourceAdo11.2.3DataGrid控件选择“工程”菜单中的“部件”命令,打开“部件”属性对话框。在控件列表中,查找并选择MicrosoftDataGridControls6.0(OLEDB)。11.2.3DataGrid控件选择“工程”菜单中的“部示例程序此工程名为DataGrid,包含两个窗体,一个是使用DataGrid控件显示数据的FormDataGrid窗体,这也是工程的主窗体;另一个是FormShowData窗体,它用来演示如何从DataGrid控件的表格中读取一行数据的具体内容。示例程序此工程名为DataGrid,包含两个窗体,一个是使用设置主窗体属性属性说明(名称)FormMainBorderStyle1–FixedSingleCaption用户信息表StartUpPosition2–屏幕中心设置主窗体属性属性说明(名称)FormMainBorderSADOData控件的属性属性设置值ConnectionStringProvider=OraOLEDB.Oracle.1;Password=USERMAN;PersistSecurityInfo=True;UserID=USERMAN;DataSource=orclCursorType2–adOpenDynamicRecordSourceSELECT*FROMUsersVisibleFalseADOData控件的属性属性设置值ConnectionSt添加DataGrid控件并设置属性添加DataGrid控件并设置属性设置列标题和数据字段列标题数据字段Column0用户编号USERIDColumn1用户名USERNAMEColumn2密码USERPWD设置列标题和数据字段列标题数据字段Column0用户编号UFormShowData窗体属性属性说明(名称)FrmShowDataBorderStyle1–FixedSingleCaption显示当前数据StartUpPosition2–屏幕中心FormShowData窗体属性属性说明(名称)FrmShFormShowData窗体FormShowData窗体11.3常用ADO对象Connection对象Command对象Recordset对象Field对象

11.3常用ADO对象Connection对象添加引用选择菜单“工程”/“引用”,打开“引用”对话框,在引用列表中选中“MicrosoftActivexDataObjects2.6Library”(不同环境下ADO的版本号可能不同)添加引用选择菜单“工程”/“引用”,打开“引用”对话框11.3.1Connection对象创建Connection对象的方法如下:

DimcnnAsNewADODB.Connection11.3.1Connection对象创建ConnectiConnectionString属性ConnectionString是连接字符串,指定用于建立连接数据源的信息。可以使用ODBC数据源来表示连接字符串,代码如下:

DimcnnAsNewADODB.Connectioncnn.ConnectionString="DSN=mydata;".\mydata是创建的ODBC数据源名。ConnectionString属性ConnectionStConnectionString属性可以通过直接设置数据源提供者(Provider)和数据库文件的方法表示连接字符串,代码如下:

DimcnnAsNewADODB.Connectioncnn.ConnectionString="Provider=OraOLEDB.Oracle.1;Password=USERMAN;PersistSecurityInfo=True;UserID=USERMAN;DataSource=orcl"UserID表示访问数据库的用户名,Password表示密码,DataSource表示数据库实例。ConnectionString属性可以通过直接设置数据源提ConnectionTimeout属性ConnectionTimeout属性指示在终止尝试和产生错误之前执行命令需等待的时间,默认值为30s。ConnectionTimeout属性ConnectionTMode属性Mode属性指定Connection对象修改数据的权限。常量说明adModeUnknown默认值。表明权限尚未设置或无法确定adModeRead表明权限为只读adModeWrite表明权限为只写adModeReadWrite表明权限为读/写adModeShareDenyRead防止其他用户使用读权限打开连接adModeShareDenyWrite防止其他用户使用写权限打开连接adModeShareExclusive防止其他用户打开连接adModeShareDenyNone防止其他用户使用任何权限打开连接Mode属性Mode属性指定Connection对象修改数据State属性State属性返回Connection对象的状态。常量说明adStateClosed默认,指示对象是关闭的adStateOpen指示对象是打开的adStateConnecting指示

Recordset对象正在连接adStateExecuting指示

Recordset对象正在执行命令adStateFetching指示

Recordset对象的行正在被读取State属性State属性返回Connection对象的状Open方法Open方法用于打开到数据源的连接。

connection.OpenConnectionString,UserID,Password,OptionsConnectionString是连接字符串。UserID是访问数据库的用户名。Password是密码。Options是连接选项。Open方法Open方法用于打开到数据源的连接。Close方法Close方法用于关闭到数据源的连接。访问数据库完成后,为了节省资源,需要将数据库连接关闭。Close方法Close方法用于关闭到数据源的连接。访问数据11.3.2Command对象它的常用属性和方法如下。ActiveConnection属性:通过设置ActiveConnection属性使打开的连接与Command对象关联。CommandText属性:定义命令(例如SQL语句)的可执行文本。Execute方法:执行在CommandText属性中指定的查询、SQL语句或存储过程。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论