DBGrid组件是用来显示数据表的。
Delphi数据库处理
第一节 BDE、ADO、InterBase和dbExpress
Delphi中处理数据库主要有两种方法,也就是BDE、ADO,从Delphi
60开始还加入了一种dbExpress方法。 另外,Delphi还提供了专门处
理Borland 公司自己的数据库产品InterBase 数据库的专门的方法。
BDE(Borland Databas Engine), 是Delphi中最古老的技术,从
delphi 20加入BDE 技术以后,一直是Delphi处理数据库的事实上的标
准。BDE 是一个基于驱动程序的体系结构,每一种数据格式或数据源都
有一种驱动程序来驱动相近的数据源。BDE 可以很好的支持现在最流行
的ODBC API方法,
ODBC是一种C/C++ 应用程序编程接口(API ),无论是对任何一种
客户/ 服务器关系型数据库管理系统(RDBMS ),还是最流行索引顺序
访问方法(ISAM)数据库(Jet、Foxpro), 都能很好的访问。
同时,由于BDE 的驱动程序主要直接来自于第三方开发商,所以,
对于像Oracle这些非微软的数据库,执行效率上比较高。正是这些特点,
使BDE 技术还是得到了很多数据库开发程序员的欢迎。
ADO 技术是微软提出来的处理关系型数据库和非关系型数据库的新
技术,它基于微软被称为OLE DB的数据访问模式,它是专门为了给大范
围商业数据源提供访问而设计的,包括传统的关系型数据表、电子邮件
系统、图形格式、Internet资源等。ADO 所需内存更少,更适合大流量
和大事务量的网络计算机系统。
ADO 顶层有三个对象:Connection、Command、Recordset。
Connection用以指定数据源,建立和数据源的连接。
Command 对象用以对数剧源执行指定的命令,可以接受SQL 语句,
表和存储过程的名称,执行SQL 查询,更新数据,插入纪录等。
Recordset 对象表示的是来自表或命令执行结果的记录全集, *** 纵
来自提供者的几乎所有数据。
由于ADO 技术的迅速普及,从Delphi 50 开始,加入了ADO 技术
的模块,并逐步成为Delphi数据库设计的主流。但是,和VB的ADODC 相
比,它还是有所不同的,在数据绑定上,它更多的吸收了BDE 的特点,
以做到和原来的程序兼容,同时,它又可以接受标准ADO 技术的各种属
性和方法,在接受这些属性和方法时,它是和数据绑定控件脱离的,当
然从某种意义上来说,这种方案提高了执行效率,给设计人员以更多的
选择。
dbExpress 是Delphi 60加入的最新的数据库模块,它不使用缓存,
可以快速浏览大量的数据,但是,不使用缓存就不能更改,所以它的标
准方式是只读的。它一个重要的特点是交叉平台,可以和Linux 数据库
连接,速度相当快。
下面的讨论,将以ADO 技术为主线,最后再说明BDE 和dbExpress
的应用方式。
第二节 ADO 面板的主要组件
ADO 面板一共有7 个组件:
ADOConnection: 主要用于建立数据库的连接;
ADOdataSet:ADO 提取和 *** 作数据库的主要数据集,可以直接连接
到数据库,也可以通过 ADOConnection连接到数据库。
ADOtable:主要用以 *** 作和提取单个基表的数据,可以直接连接到
数据库,也可以通过 ADOConnection连接到数据库。
ADOquery:通过SQL 语言提取数据,其连接数据库的方式和前两种
一样。
ADOStoredProc: 这个组件专门用于运行数据库中的存储过程。
ADOCommand:该组件用于运行一些SQL 命令,这个组件可以和支持
数据集的组件一起使用,也可以直接从一个基表中提取一个数据集。
RDSConnection: 一个进程或一台计算机传递到另一个进程或计算
机的数据集合。
为了连接数据绑定控件,上述组件往往要和处于Data Access 中的
Datasource配合使用。
可以看出,和VB的ADODC 不同的,Delphi中解决同一个问题提供了
多种方案,看起来似乎增加了麻烦,但是却可以给程序员更大的自由空
间,便于设计出高效率的数据库程序来。
下面通过几个例子来说明ADO 控件的用法。
第三节 ADOtable组件
ADOtable、ADOdataSet、ADOquery和ADOStoredProc都继承了同一
个父类TCustomADODataSet,所以,在属性事件和方法上有很多相似的
地方,但它主要是针对数据库中的表进行 *** 作。
ADO -〉ADOtable
属性:
Name='控件名'
ConnectionString='连接字符串'
可以通过点击右边的按钮,通过向导建立数据源。有时候需要
知道相对路径,可以用下面的方法找到程序当前的路径:
tpath:=ExtractFilepath(ApplicationExename);
文件名:=Tpath+'\data\Testmdb'
表明数据库在当前程序上一层的Data文件夹下。
TableName='表名'
Active=true
这就激活了数据源,为了和绑定控件联系,要增加一个DadaSource
控件。事实上,所有的绑定控件都是和DadaSource联系。
Data Access-〉DadaSource
属性:
Dataset=ADOtableName
加入绑定控件:
Data Controls-〉
DBgrid(表格)
属性
DadaSource='DadaSourceName'
DBNavigator(导航条)
属性
DadaSource='DadaSourceName'
运行一下可以看出关系
下面介绍一下ADOtable的一些重要的方法,这些方法大部分和Table
是兼容的。
为了便于叙述,ADOtable控件的Name定为 ADOtable1
1)移动指针
第一个: ADotable1First;
最后一个: ADotable1Last;
下一个: ADotable1Next;
前一个: ADotable1Prior;
2)从字段中取出数据
通过如下方法可以访问字段的值
ADOtable1FieldValues['字段名']
ADOtable1Field[索引值]
在读写字段的时候,又是根据需要可以加上强制类型转换
例如:
Edit1text:=ADOtable1Field[0]AsString;
用下面的方法可以去除字段的性质:
ADOtable1fielddefs[索引值]name; 字段名
ADOtable1fielddefs[索引值]Size; 字段大小
ADOtable1fielddefs[索引值]Datatype; 字段属性
3)修改数据:
修改数据的时候,需要先建立EDIT方法,然后用Post方法才能真
正的写入。
ADOtable1edit;
ADOtable1FieldValues['姓名']:='王秀琴';
ADOtable1post;
4)增加一条空纪录: ADOtable1append;
新增纪录也可以用如下方法,在新增纪录的同时输入数据
ADOtable1appendRecord(xxx,xxx,xxx,);
5)删除当前纪录:ADOtable1delete;
如果在ADOtable1的OnBeforeDelete方法中写下:
if messagedlg('确实要删除吗?',mtinformation,[mbyes,mbno],
0)=mrno then abort();
可以实现删除前的提示。
6)过滤
可以用如下的方法实现数据的过滤
在ADOtable1的OnFilterRecord方法中写下:
Accept:=(条件);
然后
ADOtable1filtered:=true; 为实现过滤。
ADOtable1filtered:=false; 为解除过滤。
7)指针在文件的头尾
指针在最后一条记录之后 ADOtable1Eof
指针在第一条记录之前 ADOtable1Bof
如此可以实现对数据库的遍历
form1ADOtable1first;
while not form1ADOtable1eof do
Begin
form1ADOtable1next;
End;
8)此外, ADOtable组件还继承了ADO 中的RecordSet对象几乎
全部属性和方法,简述如下:
with adoTable1Recordset do
begin
//属性
PageSize 一页所包含的记录数
PageCount 数据的页数
AbsolutePage; 当前记录所在页
AbsolutePosition; 当前记录的序号位置
BOF; 指针在第一个记录之前
EOF; 指针在最后一个记录之后
//方法
AddNew fieldList,Values; 创建新记录,其中fieldList为用数
组表示的字段名集,Values为用数组表
示的数据集。
Cancel; 取消上一步所作的修改
Update Fields,Values; 保存对当前记录所作的修改
Delete; 删除当前记录
Move(n); 移动n 条记录
MoveFirst; 移动到第一条纪录
MoveLast; 移动到最后一条纪录
MoveNext 移动到下一条纪录
MovePrevious 移动到上一条纪录
Requery; 通过从新执行对象所基于的查询,以
更新RecordSet 对象中的数据。
end;
使用Recordset 对象来处理数据集的数据,会发现数据帮定控件的指
针一般不会跟着移动,这实际上给设计者提供了另一个在后台快速处理数
据的方法。
附录:关于TActionList控件的使用
在Standard面板,提供了一个TActionList 控件,它集中了大部分按
钮的使用方法,可以简化按钮的设计。
方法:
调入TActionList,双击,可以看到一个面板,右键 -〉New Standard
Action 选择 Datasat下的适当的控制,可以选择多个。
以后加入的开关,只要在属性Action 中选择适当的项目就可以了,不
需要专门编程,实例见“ActionList应用”。
第四节 ADOQuery组件
和ADOtable组件一样,ADOquery继承了同一个父类TCustomADODataSet,
所以,上面说到的ADOtable属性事件和方法基本上是通用的,但它主要是
针对数据库中的SQL 命令进行 *** 作。
下面主要说一下ADOquery特殊的地方。
1)SQL 属性
SQL 是TStrings类型的属性,包含了ADOquery组件要执行的SQL 命令,
是ADOquery最为重要的属性之一。
在应用程序中,需要调用Open方法或者ExecSQL 方法来执行在SQL 中
的命令。在设计阶段,可以利用属性编辑起来编写。
例如:
Width ADOquery do
Begin
//重新写入时,要关闭原来的查询
Close;
width SQL do
Begin
//因为Add是在原来的基础上加入,所以先清除原来的SQL命令
Clear;
Add('selsct 编号,姓名,奖金')
Add('From 奖金表')
End;
//执行SQL 命令
Open;
End;
查询命令也可以这样来写:
s1:='编号';
s2:='姓名';
s3:='金额';
with ADOquery1 do
begin
sqlClear;
SQLAdd('select ');
SQLAdd(s1+','+s2+','+s3);
SQLAdd(' From 奖金 ');
execsql;
active:=true;
end;
效果是一样的。
第五节 ADOConnection 和 ADODataSet
虽然ADOTable和ADOQuery组件可以非常简单的连接数据库,但是当需
要更加精细的控制数据库的时候,往往需要应用ADO 更多的方法,我们知
道,支撑ADO 的主要由Connection,Command,Recordsrt三个对象组成,
对应的就有ADOConnection和ADOCommand控件,而Recordsrt对象属性和方
法,封装在ADODataSet中,同时ADODataSet本身,也具备和ADOtable组件
相同的对数据绑定控件控值的属性和方法。
这就大大提高了对数据库的控制能力。
在ADO 顶层有三个对象中Connection处在最顶层,用以指定数据源,
建立和数据源的连接。所以,ADOConnection必须和其它的数据控件连接
才有效,最常用的就是和ADODataSet配合。
下面首先介绍连接方法,然后再讨论其它的问题
1)ADOConnection的加入和连接
加入ADOConnection
属性:ConnectionString='连接字符串'
加入ADODataSat
属性:Connection='ADOConnection1' (ADOConnection,Name)
CommandType=cmdtable 使用表连接
CommandText 根据上面的选择,或选择表,或出现SQL 编辑框。
Active=True 激活。
加入DataSource
属性:Dataset=ADODataSat 完成连接,再连接数据绑定控件。
2)ADOConnection的重要属性和方法
属性:
a)Attributes
设置连接的数据库自动处理事务的能力
xCommitRetaining:提交一个事务后自动开始一个新事务
xAbortRetaining :回退一个事务的同时开始一个新事务
b)Connected
标识和数据库的连接受否处于激活(True)
方法:
c)Open(UserID,PassWord)
打开一个连接(可以提供用户名和密码)
d)Cancel
关闭数据库的连接
e)Close
释放所有的系统关联资源
f)Execute 执行一个SQL 命令。
完整的表述是
Execute(SQL命令,该命令设计的记录数目,Option)
其中,Option的值如下
eoAsyncExecute 异步执行指定的命令
eoAsyncFetch 给定Cache属性的值后,再异步的取得数据
eoAsyncFetchNonBlocking 非阻塞式线程执行
eoExecuteNoRecords 没有返回纪录
g)GetProcedureNames(List:Tstring);
获取数据库服务器上的存储过程名称,过程名保留在List参
数中。
f)GetTableNames(List:Tstring;SystemTables:Boolean=False)
获取数据库的数据表,表名存放在List参数中,SystemTables
指示是否获取数据库系统表的名称,系统表是关于数据库类型定义
和用户信息的数据表,是数据库本身自动产生的。在特殊的设计中,
这个表格可能会有用。
3)ADODataSet的属性和方法
我们在ADOTable中讨论的属性和方法,几乎都可以在ADODataSet中得
到应用,但还有几个特殊的属性:
CommandType
主要用于控制CommandText属性的状态,其中:
cmdtable CommandText使用“表名”连接
(内部是做了SQL 对各列的查询);
cmdTableDirect CommandText使用“表名”连接
(内部不做SQL ,而是真正的表名连接);
cmdtext 使用SQL命令文本;
cmdfile CommandType属性值作为持久的文件名;
cmdStoredProcCommandType属性值作为存储过程名称
来计算;
cmdUnKnown 不知道(默认为SQL)
CommandText
根据CommandType的设置,向提供者发出“表名”或SQL 命令。
1 请帮我把以下课程翻译成标准的英文,谢谢拉!!(要标准的!)
无机化学 inanic chemistry
有机化学 inanic chemistry
有机化学试验 inanic chemistry test
大学英语听说 college English speaking and listening
大学英语 college English
工程图学engineering graphics
计算机技术基础Basis of Computer Technique
高等数学 higher mathematics
线性代数 linear algebra
物理学试验physics test
工程力学engineering mechanics
物理学physics
电工电子技术Electrotechnical electronic technology
工业美术基础basis of instrial arts
机械设计基础 basis of machine design
包装材料学 Package materials
互换性与技术测量interchangeability and technique measuring
工业设计概论 outline of instrial designs
人体工程学ergonomics
楼主 这些我都是一个一个查的 应该不会错的
2 课程名称的英语翻译!
Moral and legal foundation
Ancient Chinese Opera
College English Ⅱ College English (band 4)
Chemistry, University of chemistry
Calculus Ⅰ Calculus 1
Linear Algebra Linear algebra
University Chemistry Experiment (O) Organic chemistry experiment
University Chemistry Experiment (G) Inanic chemistry experiment
Ergonomics
Engineering Graphics Fundamental graphics
University Computer Basic Computer science
General physical ecation
Situation and Policies
Outline of Modern Chinese History
Traditional Culture and Modern Chinese
Qin and Han Dynasties Prose
College English Ⅲ College English (band 3)
Ordinary Differential Equations
Partial Differential Equations
Calculus Ⅱ Calculus 2
Calculus Ⅲ Calculus 3
University Physics (b) Ⅰ Physics
Freshman Seminar class - eco-environmental protection and disease prevention and control of new technologies
Bioethics
Introction to Marketing
C + + programming basic and experimental
Orienteering (primary classes)
Mao Zedong Thought, Deng Xiaoping Theory and "Three Represents" important thought Introction
Secretarial study
College English Ⅳ
Complex Variables and Integral Transformation
Calculation Method
University Physics (b) Ⅱ
Engineering Training (B)
Circuit Theory (A) Ⅰ
Circuit principle experiment (A) Ⅰ
Analog Electronics
Introction to modern medical equipment
E-merce and e-government
Aerobics (junior class)
3 急求以下课程的英文版课程描述!!
补充:描述啊,我知识有限,不能用英文描述大部分的科目,可是我觉得名字本身就是很好的描述了。而且同一个科目可以学习的方面有很多,像摄影技术,我并不知道你学的是摄影的哪一方面,因此不能给你描述。
应用数学Application Mathematics
马克思主义政治经济学原理Marxist Principles of Political Economy
演讲与口才Speech and Eloquence
申论 我不知道是什么
“思政课”社会实践"Ideological and Political Ecation" social practice,
公文写作,Document Writing,
摄影技术,Photography,
形势与政策,Situation and Policy
管理学Management,
企业管理学Enterprise management
计算机导论Introction to Computer Science
*** 作系统Operating system (Linux),
网络数据库技术与应用Neork database technology and applications,
网站开发技术Web site development technology
网络侦查与安全技术Neork detection and security technologies,
局域网组建与维护Local Area Neork and maintenance,
网络安全技术应用Neork security technology,
数据安全与恢复Data security and recovery,
动画设计Animation,
网站规划与工程设计Site planning and engineering design
计算机网络技术Computer Neork Technology,
网页设计Web Design,
Linux组网技术Linux neorking technology,
计算机英语Computer English(有这门课?)
计算机信息的加密与解密Computer encryption and decryption,
计算机辅助设计Computer-aided design,
无线局域网技术Wireless LAN technology,
图形与图像处理Graphics and image processing
4 求下列课程名称的英文翻译(不要机器或是网站直接翻译,要专业的)研究生(车辆工程专业)
唉,好容易翻完了,手一哆嗦,把页面给关了,再重新翻一遍吧。。。
Major:
现代工程图学;Modern Engineering Graphics
制造技术基础实习(A);Practice of Manufacturing Technology Foundation (A)
程序设计基础(C);Program Design Foundation (C)
机械原理A;Michanical Principle (A)
制造技术基础A;Manufacturing Technology Foundation (A)
电工技术;Electrical engineering technology
控制理论基础;Foundation of Control Theory
机械工程测试技术基础;Foundation of Mechanical Engineering Measurement
PLC技术基础;Foundation of PLC Technology
互换性与技术测量A;interchangeability and Technical Measurement (A)
机械设计A;Machinery Design (A)
微机原理及接口技术;Microputer Principle and Interface Technology
机电传动控制;Mechanical and Electrical Erive Control
液压传动;Hydraulic Tran ission
制造工艺技术及质量控制;Manufacturing Technology and Quality Control
工程数据库技术;Engineering Index
机械振动;Mechanical Vibration
汽车电子技术。Automotive Technology
精英英语帮助您!
~~英语教师团真诚为您解惑!!~~
5 跪求课程名称 标准英文翻译
体育(4): Physical Ecation (4)
军事训练: Military Training
土地资源管理专业概论: Introction to Land Resouce Management Major
思想道德修养与法律基础: Cultivation of Ideology and Ethics and Fundamentals of Law
大学英语(1): College English (1)
健康教育: Health Ecation
体育(2): Physical Ecation (2)
公益劳动: Volunteering for Public Interest
舞蹈鉴赏: Appreciation of Dancing
高级程序设计语言C: Advanced Programming Language C
高级程序设计语言C课程设计: Course Design of Advanced Programming Language C
电子电工学实验B: Experiment in Electronic and Electrical Engineering B
体育(3): Physical Ecation (3)
线性代数: Linear Algebra
大学英语(3): College English (3)
电工电子学B: Electronic and Electrical Engineering B
数据库技术及应用: Techniques and Applications of Database
地籍测量实习B: Cadastration Practice B
高等数学A(2): Advanced Mathematics A (2)
大学英语(4): College English (4)
会计学原理: Principles of Accounting
应用统计学课程设计: Course Design of Applied Accounting
大学生就业指导: Employment Guidance for College Students
系统工程与运筹学: System Engineering and Operations Research
系统工程与运筹学课程设计: Course Design of System Engineering and Operations Research
土地资源学: Land Resource
土地法规与政策: Land Laws, Regulations and Policies
管理信息系统: Management Information System
技术经济学A: Technological Economics A
专业外语(2)Professional Foreign Language (2)
土地定级与房地产估价: Land Rating and Real Estate Appraisal
GIS基础及软件应用: Fundamentals of GIS and Sofare Application
土地定级与房地产估价课程设计: Course Design of Land Rating and Real Estate Appraisal
体育(1): Physical Ecation (1)
高等数学A(1): Advanced Mathematics A (1)
工程制图: Graphing of Engineering
大学化学: College Chemistry
大学计算机基础: Fundamentals of College Computer Science
管理学原理: Principles of Management
大学物理B: College Physics B
大学物理实验B: Experiment of College Physics B
大学英语(2): College English (2)
经济学B: Economics B
马克思主义基本原理: Basic Principles of Marxi
概率论: Probability Theory
房屋建筑学A: Building Construction A
当代中国外交: Contemporary Chinese Diplomacy
合同法: Contracts Law
摄影技术: Techniques of Photography
思想和中国特色社会主义: Mao Zedong Thought and Sociali with Chinese Characteristics
土地经济学: Land Economics
应用统计学: Applied Statistics
地图学与地图设计: Cartology and Map Design
地籍测量A: Cadastration A
房地产开发与经营课程设计: Course Design of Real Estate Development and Management
技术经济学课程设计: Course Design of Technological Economics
创业管理: Entrepreneurial Management
美国社会与文化: American Society and Culture
专业外语(1): Professional Foreign Language (1)
房地产开发与经营A: Real Estate Development and Management A
GPS基础及应用综合实验: Comprehensive Experiment of Fundamentals and Applications of GPS
GPS基础及应用: Fundamentals and Applications of GPS
遥感技术及应用: Techniques and Applications of Remote Sensing
遥感技术及应用综合实验: Comprehensive Experiment of Techniques and Applications of Remote Sensing
文献检索: Document Indexing
GIS基础及软件应用综合实验: Comprehensive Experiment of Fundamentals of GIS and Sofare Application
大部分参考一个论坛帖子“2440门大学课程中英文对照大汇集”:
//bbscricn/showtopic-30549aspx
少部分参考iciba在线词典:
//iciba/
极少部分措辞作了变动
6 求几门课程的英文翻译(建筑学)
翻译如下:1计算机上机实践:The puter Practicals。
2建筑学专业导论: Introction to Architecture majors,。
3工地内实习:容site internship。
4素描实习:internships sketching。
5建筑史概论: Architectural History Studies。
6 绿色建筑技术:green building technologies。
7周易概论:Zhou Yi Introction。
8视觉设计基础: visual design of basis。
楼主你把连接数据库写成构造器的形式,认为可以每次执行时都会连接,所以不在具体查询方法里面再做数据库的connection *** 作,这个方式显然发生错误了,建议不写成默认构造的形式。具体改法可以照我的例子改:
private static final String DRIVER="commysqljdbcDriver";
private static final String URL="jdbc:mysql://localhost:8080/useToVote";
private static final String USER="root";
private static final String PWD="qinx";
public Connection getConnection(){
Connection conn=null;
try {
ClassforName(DRIVER);
conn=DriverManagergetConnection(URL,USER,PWD);
} catch (Exception e) {
eprintStackTrace();
}
return conn;
}
然后在查询的GetResulte方法里面先加入conn=getConnection();开启连接,再继续往下。注意最后要关闭连接哦!希望对你有所帮助。
1、在后台定义一个Servlet或者Action,接收jsp的参数去数据库查询数据,返回List
2、将从数据库查询的数据放在request中,如requestsetAttribute("studentList",studentList),输出到对应的jsp页面。
3、在jsp页面引入jstl标签,定义好一个html表格头
4、用jstl获取后台查询的数据,利用<c:foreach>标签循环输出到表格的<tr>中。
示例:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><html>
<body>
<table class="table table-bordered" >
<tr>
<th style="text-align:center;width:2%">序号</th>
<th style="text-align:center;width:5%">姓名</th>
<th style="text-align:center;width:6%">年龄</th>
</tr>
<c:forEach items="${studentList}" var="student" varStatus="status">
<tr>
<td style="text-align:center;">${status}</td>
<td style="text-align:center;">${studentusername}</td>
<td style="text-align:center;">${studentage}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
找到损坏的文件
11 打开“开始”--》“运行”窗口,输入:cmd,打开运行窗口
12 进行系统扫描,输入:sfc /scannow
13 将扫描结果生成文件,发送到桌面,输入:sfc /scannow
14 查看sfcdetailstxt文件,找到问题文件(图示为‘PINTLGTIMD’)。注:一般文件损坏都是提示:“Cannot repair member file。。。”。
寻找替换文件
方法1: 从系统盘内搜索
方法2:网上搜素
修复
31 授予管理员恢复对以前被拒绝的文件的访问权限
takeown /f C:\Windows\IME\IMESC5\DICTS\PINTLGTIMD
32 提供了ntfs权限的备份与恢复
icacls C:\Windows\IME\IMESC5\DICTS\PINTLGTIMD /grant administrators:F
33 还原
copy E:\Users\Qin\Downloads\PINTLGTIMD C:\Windows\IME\IMESC5\DICTS\PINTLGTIMD
注:E:\Users\Qin\Downloads\PINTLGTIMD 是第二步找到的正确文件
以上就是关于delphi SQL查询并显示全部的内容,包括:delphi SQL查询并显示、工程图学英文课程、servlet中连接数据库问题: exception java.lang.NullPointerException等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)