




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一,在 ifix 帮组手册中的参考内容 .1二, 在 vb 中需要引用内容 .6三,采用 2 中引用的 ADO ext 方式连接用户数据库参考.6四,具体的参考代码.84.1 创建新表.84.2 删除不需要时间范围数据.94.3 删除某个表.104.4 清除表中重复数据.114.5 将临时数据表中数据倒回主数据表.154.6 删除某个表中全部数据.174.7 读一个数据库中数据,将该数据写入另一个数据库.18附件 1:网络下载参考数据 .25附录 2:sql 参考 .36附录 3:附带一个小资料 sql 参数 .40SQL 常用命令使用方法.43参考 1:日表代码 .50参考 2:污水月表代码
2、 .55参考 3:单年表代码 .63参考 4:多年表代码 .69参考 5:污水设备运行时间表代码 .75参考 6:删除某表指定时间前数据 .81一,在 ifix 帮组手册中的参考内容Driver=Microsoft Access Driver (*.MDB);DBQ=E:报表gyws_report.mdb;INSERT INTO fixreport + _(datatime, datatag, datavalue) + _VALUES( 2010-7-13 10:11:23, addbc, 124.45)二, 在 vb 中需要引用内容三,采用 2 中引用的 ADO ext 方式连接用户数据库参
3、考四,具体的参考代码4.1 创建新表Private Sub close_pic16_Click()+再已存在库中创建表+Dim cat As ADOX.CatalogDim tbl As New ADOX.TableSet cat = New ADOX.Catalog cat.ActiveConnection = Provider=Microsoft.Jet.OLEDB.4.0; & _ Data Source=E:污水报表gyws_report.mdb; With tbl .Name = fixreport_temp Create a field and append it to t
4、he new Table object. This must be done before appending the Table object to the Tables collection of the Catalog. .Columns.Append datatime, adDate .Columns.Append datatag, adVarWChar .Columns.Append datavalue, adDouble .Columns.Append datatxt, adVarWChar End With Add the new table to the database. c
5、at.Tables.Append tbl Clean up the references Set cat = Nothing Set tbl = Nothing End Sub4.2 删除不需要时间范围数据、Private Sub close_pic14_Click()Dim conADO As ADODB.ConnectionDim rsADO As ADODB.Recordset Dim strQuery1 As String Dim StartTime报表设计.datestar.RefreshStartTime = Format(报表设计.datestar.Value, yyyy-mm-
6、dd) & & Format(报表设计.timestar.Value, hh:mm:ss)Me.timestar1.Value = StartTimeDim Data, Data1, Data2, Datasm, Tagsm(1) Set conADO = New ADODB.Connection conADO.ConnectionString = Driver=Microsoft Access Driver (*.MDB);DBQ=E:污水报表gyws_report.mdb;UID=aa;PWD=; strQuery1 = delete + _FROM fixreport +
7、 _ WHERE (datatime 1)and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )1)+以下内容为从 fix 系统数据读出需要数据+datatime not in (SELECT DISTINCT count(datatime) FROM fixreport group by datatime having DISTINCT count datatime = 1) and + _Tag = AA1Tag(10) = AA1fixreport.datatime
8、 DISTINCT fixreport. having count(datatime) 1) delete strQueryfix = SELECT fixreport.datatime,fixreport.datatag,fixreport.datavalue,fixreport.datatxt FROM fixreport + _ WHERE fixreport.datatag = AA1 DISTINCT strQuery = SELECT sum(datavalue) from (SELECT DISTINCT datatime,datatag,datavalue,datatxt FR
9、OM fixreport + _ WHERE datatag = AA1 )datatime not in (SELECT datatime FROM fixreport group by datatime having count( DISTINCT datatime) ) and + _datatag = AA1 Set conADO = New ADODB.Connection conADO.ConnectionString = Driver=Microsoft Access Driver (*.MDB);DBQ=E:污水报表gyws_report.mdb;UID=aa;PWD=; co
10、nADO.Open Set rsADO = New ADODB.Recordset rsADO.Open strQuery, conADO, adOpenDynamic, adLockOptimistic, adCmdText i = rsADO(0) j = i + 1 k = i + 2 End SubPrivate Sub close_pic27_Click()Dim conADO As ADODB.ConnectionDim rsADO As ADODB.RecordsetDim strQuery As String+fix 数据连接定义+Dim conADOfix As Connec
11、tionDim rsADOfix As RecordsetDim strQueryfix As String+fix 数据处理定义+On Error GoTo ErrorHandler+自建数据库数据连接定义+Dim StartTime, StartTime1, EenTime, EenTime1 As StringDim Tag(15) As StringDim i, j, kDim Datat, Datatag, Datav, Datasm, Tagsm(1)Dim smtime, smm As String+以下内容为从 fix 系统数据读出需要数据+-时间控件取值-StartTime1
12、 = dateadd(d, -1, Now)StartTime = Format(StartTime1, yyyy-mm-dd) & & Format(00:00:01, hh:mm:ss)EndTime1 = dateadd(h, 23, StartTime)EndTime = Format(EndTime1, yyyy-mm-dd) & & Format(23:00:01, hh:mm:ss) strQuery = SELECT datavalue FROM (SELECT DISTINCT datatime,datatag,datavalue,datatx
13、t FROM fixreport + _ WHERE datatag = COD211 + _ AND (datatime =ts + StartTime + AND + _ datatime =ts + StartTime + AND + _ DATETIME =ts 2010-06-14 00:00:01 AND + _ DATETIME =ts 2010-06-14 23:00:01) + _ ORDER BY DATETIME 2010-06-14 23:00:00 Set conADOfix(i) = New ADODB.Connection conADOfix(i).Connect
14、ionString = DSN=FIX Dynamics Historical Data;UID=sa;PWD=; conADOfix(i).Open Set rsADOfix(i) = New ADODB.Recordset rsADOfix(i).Open strQueryfix(i), conADOfix(i), adOpenForwardOnly, adLockReadOnly, adCmdText Next i+以下内容为向数据库中插入数据+Datasm = 当前插入数据为时间,本数据为 & Data2 & 分!Data1 = CStr(Data) Set conAD
15、O = New ADODB.Connection conADO.ConnectionString = Driver=Microsoft Access Driver (*.MDB);DBQ=E:污水报表gyws_report.mdb;UID=aa;PWD=;conADO.OpenstrQuery = INSERT INTO fixreport + _(datatime, datatag, datavalue,datatxt) + _VALUES( + StartTime + , + Data2 + , + Data1 + , + Datasm + )Set rsADO = New ADODB.R
16、ecordset rsADO.Open strQuery, conADO, adOpenForwardOnly, adLockReadOnly, adCmdText+以下内容为将读出 fix 数据写入数据库 fixreport+Dim Datat, Datatag, Datav, Datasm, Tagsm(1)Dim jDim smtime, smm As StringFor j = 0 To 9Set conADO(j) = New ADODB.Connection conADO(j).ConnectionString = Driver=Microsoft Access Driver (*
17、.MDB);DBQ=22新建文件夹gyws_report.mdb;UID=aa;PWD=;conADO(j).OpenWhile rsADOfix(j).EOF TrueDatasm = 当前插入数据为时间,本数据为 & Data2 & 分! CStr If rsADO(c) Then smtime = rsADOfix(j)(0) smm = Minute(smtime) Datasm = 当前入数据为地 & 次 & smm & 分时的数值! Datat = CStr(rsADOfix(j)(0) Datatag = CStr(r
18、sADOfix(j)(2) Datav = CStr(rsADOfix(j)(1) strQuery(j) = INSERT INTO fixreport + _(datatime, datatag, datavalue,datatxt) + _VALUES( + Datat + , + Datatag + , + Datav + , + Datasm + ) If rsADO(c) Then .Cells(r, c + l + 1).Value = rsADO(c) ElseIf rsADO(c) = 0 Then Intyexcel.Quit If CStr(rsADO(c) Like !
19、1234567890 Then Intyexcel.Quit _ Else .Cells(r, c + l + 1).Value = rsADO(c) Set rsADO(j) = New ADODB.Recordset rsADO(j).Open strQuery(j), conADO(j), adOpenForwardOnly, adLockReadOnly, adCmdText rsADOfix(j).MoveNext Wend Next j End Sub+s 删除表+Dim conADO As ADODB.ConnectionDim rsADO As ADODB.RecordsetD
20、im strQuery As StringDim Datat, Datatag, Datav, Datasm, Tagsm(1)Dim jDim smtime, smm As StringSet conADO = New ADODB.Connection conADO.ConnectionString = Driver=Microsoft Access Driver (*.MDB);DBQ=E:污水报表gyws_report.mdb;UID=aa;PWD=;conADO.Open strQuery = DROP TABLE fixreport_temp Set rsADO = New ADOD
21、B.Recordset rsADO.Open strQuery, conADO, adOpenForwardOnly, adLockOptimistic, adCmdText +再已存在库中创建表+Dim cat As ADOX.CatalogDim tbl As New ADOX.TableSet cat = New ADOX.Catalog cat.ActiveConnection = Provider=Microsoft.Jet.OLEDB.4.0; & _ Data Source=E:污水报表gyws_report.mdb; With tbl .Name = fixreport
22、_temp Create a field and append it to the new Table object. This must be done before appending the Table object to the Tables collection of the Catalog. .Columns.Append datatime, adDate .Columns.Append datatag, adVarWChar .Columns.Append datavalue, adDouble .Columns.Append datatxt, adVarWChar End Wi
23、th Add the new table to the database. cat.Tables.Append tbl Clean up the references Set cat = Nothing Set tbl = Nothing 附件 1:网络下载参考数据删除 Access 中的重复记录,用 sql 如何写PL-SQL 2007-12-13 13:52:32 阅读 200 评论 0 字号:大中小 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId fr
24、om people group by peopleId having count(peopleId) 1)2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有 rowid 最小的记录delete from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) 1)and rowid not in (select min(rowid) from people group by peopleId having count(people
25、Id )1)3、查找表中多余的重复记录(多个字段)select * from vitae awhere (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) 1)4、删除表中多余的重复记录(多个字段) ,只留有 rowid 最小的记录delete from vitae awhere (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) 1
26、)and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)1)5、查找表中多余的重复记录(多个字段) ,不包含 rowid 最小的记录select * from vitae awhere (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) 1)and rowid not in (select min(rowid) from vitae group by
27、peopleId,seq having count(*)1)几个删除重复记录的几个删除重复记录的 SQL 语句语句来源:2007 年 11 月 29 日 09:53网友评论:0 条点击: 5553比如现在有一人员表 (表名:peosons)若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来 select p1.* from persons p1,persons p2 where p1.idp2.id and p1.cardid = p2.cardid and p1.pname = p2.pname and p1.address = p2.address 可以实现上述效果 几个删除重复记
28、录的几个删除重复记录的 SQL 语句语句 1.用 rowid 方法 2.用 group by 方法 3.用 distinct 方法 1。用。用 rowid 方法方法 据据 oracle 带的 rowid 属性,进行判断,是否存在重复,语句如下:查数据查数据: select * from table1 a where rowid !=(select max(rowid) from table1 b where 1=1 and 2=2.)删数据:删数据: delete from table1 a where rowid !=(select max(r
29、owid) from table1 b where 1=1 and 2=2.) 2.group by 方法方法 查数据查数据:select count(num), max(name) from student -列出重复的记录数,并列出他的 name 属性 group by num having count(num) 1 -按 num 分组后找出表中 num 列重复,即出现次数大于一次 删数据:删数据:delete from student group by num having count(num) 1这样的话就把所有重复的都删除了。 3.用
30、distinct 方法 -对于小的表比较有用 create table table_new as select distinct * from table1 minux truncate table table1;insert into table1 select * from table_new;查询及删除重复记录的方法大全查询及删除重复记录的方法大全1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId
31、 having count(peopleId) 1)2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有 rowid 最小的记录delete from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) 1)and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )1)3、查找表中多余的重复记录(多个字段)
32、select * from vitae awhere (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) 1)4、删除表中多余的重复记录(多个字段),只留有 rowid 最小的记录 delete from vitae awhere (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) 1)and rowid not in (select
33、 min(rowid) from vitae group by peopleId,seq having count(*)1)5、查找表中多余的重复记录(多个字段),不包含 rowid 最小的记录select * from vitae awhere (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) 1)and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(
34、*)1)(二)比方说在 A 表中存在一个字段“name”,而且不同记录之间的“name”值有可能会相同,现在就是需要查询出在该表中的各记录之间,“name”值存在重复的项;Select Name,Count(*) From A Group By Name Having Count(*) 1如果还查性别也相同大则如下:Select Name,sex,Count(*) From A Group By Name,sex Having Count(*) 1 (三)方法一declare max integer,id integerdeclare cur_rows cursor local for sel
35、ect 主字段,count(*) from 表名 group by 主字段 having count(*) ; 1open cur_rowsfetch cur_rows into id,maxwhile fetch_status=0beginselect max = max -1set rowcount maxdelete from 表名 where 主字段 = idfetch cur_rows into id,maxendclose cur_rowsset rowcount 0方法二重复记录有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如
36、 Name 字段重复,而其他字段不一定重复或都重复可以忽略。 1、对于第一种重复,比较容易解决,使用select distinct * from tableName就可以得到无重复记录的结果集。如果该表需要删除重复的记录(重复记录保留 1 条),可以按以下方法删除select distinct * into #Tmp from tableNamedrop table tableNameselect * into tableName from #Tmpdrop table #Tmp发生这种重复的原因是表设计不周产生的,增加唯一索引列即可解决。2、这类重复问题通常要求保留重复记录中的第一条记录,操
37、作方法如下假设有重复的字段为 Name,Address,要求得到这两个字段唯一的结果集select identity(int,1,1) as autoID, * into #Tmp from tableNameselect min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoIDselect * from #Tmp where autoID in(select autoID from #tmp2)最后一个 select 即得到了 Name,Address 不重复的结果集(但多了一个 autoID 字段,实际写时可以写在sel
38、ect 子句中省去此列) (四)查询重复select * from tablename where id in (select id from tablename group by id having count(id) 1)快速删除重复记录,SQL Server 如何实现?如果一张表的数据达到上百万条,用游标的方法来删除简直是个噩梦,因为它会执行相当长的一段时间开发人员的噩梦开发人员的噩梦删除重复记录删除重复记录想必每一位开发人员都有过类似的经历,在对数据库进行查询或统计的时候不时地会碰到由于表中存在重复的记录而导致查询和统计结果不准确。解决该问题的办法就是将这些重复的记录删除,只保留其中的
39、一条。在 SQL Server 中除了对拥有十几条记录的表进行人工删除外,实现删除重复记录一般都是写一段代码,用游标的方法一行一行检查,删除重复的记录。因为这种方法需要对整个表进行遍历,所以对于表中的记录数不是很大的时候还是可行的,如果一张表的数据达到上百万条,用游标的方法来删除简直是个噩梦,因为它会执行相当长的一段时间。四板斧四板斧轻松消除重复记录轻松消除重复记录殊不知在 SQL Server 中有一种更为简单的方法,它不需要用游标,只要写一句简单插入语句就能实现删除重复记录的功能。为了能清楚地表述,我们首先假设存在一个产品信息表 Products,其表结构如下:CREATE TABLE P
40、roducts ( ProductID int, ProductName nvarchar (40), Unit char(2), UnitPrice money )表中的数据如图 1:图表图 1 中可以看出,产品 Chang 和 Tofu 的记录在产品信息表中存在重复。现在要删除这些重复的记录,只保留其中的一条。步骤如下:第一板斧建立一张具有相同结构的临时表CREATE TABLE Products_temp ( ProductID int, ProductName nvarchar (40), Unit char(2), UnitPrice money )第二板斧为该表加上索引,并使其忽略
41、重复的值方法是在企业管理器中找到上面建立的临时表 Products _temp,单击鼠标右键,选择所有任务,选择管理索引,选择新建。如图 2 所示。按照图 2 中圈出来的地方设置索引选项。图 2第三板斧拷贝产品信息到临时表insert into Products_temp Select * from Products此时 SQL Server 会返回如下提示:服务器: 消息 3604,级别 16,状态 1,行 1已忽略重复的键。它表明在产品信息临时表 Products_temp 中不会有重复的行出现。第四板斧将新的数据导入原表将原产品信息表 Products 清空,并将临时表 Products
42、_temp 中数据导入,最后删除临时表 Products_temp。delete Products insert into Products select * from Products_temp drop table Products_temp这样就完成了对表中重复记录的删除。无论表有多大,它的执行速度都是相当快的,而且因为几乎不用写语句,所以它也是很安全的。小提示:上述方法中删除重复记录取决于创建唯一索引时选择的字段,在实际的操作过程中读者务必首先确认创建的唯一索引字段是否正确,以免将有用的数据删除。http:/ ADOX 来创建 Access 数据库。 Microsoft ActiveX
43、 Data Objects Extensions for Data Definition Language and Security (ADOX) 是对 ADO 对象和编程模型的扩展。ADOX 包括用于模式创建和修改的对象,以及安全性。由于它是基于对象实现模式操作,所以用户可以编写对各种数据源都能有效运行的代码,而与它们原始语法中的差异无关。 ADOX 是核心 ADO 对象的扩展库。它显露的其他对象可用于创建、修改和删除模式对象,如表格和过程。它还包括安全对象,可用于维护用户和组,以及授予和撤消对象的权限。 要通过开发工具使用 ADOX,需要建立对 ADOX 类型库的引用。对 ADOX 库的说
44、明为“Microsoft ADO Ext. for DDL and Security.”。ADOX 库文件名为“Msadox.dll”,程序 ID (ProgID) 为“ADOX”。有关建立库引用的详细信息,请参阅开发工具的文档。 使用 ADOX 对象模型中的 Catalog 对象来创建数据库,创建 Access 数据库的方式非常简单,使用的字符串和ADODB.Connection 对象的连接字符串是一样的。较为简单的示例如下:1、创建数据库声明 Catalog 对象Dim cat As New ADOX.Catalog设置创建数据库用到的字符串,和 ADODB.Connection 对象的连
45、接字符串相同Dim Workstring As StringWorkstring = Provider=Microsoft.Jet.OLEDB.4.0; & Data Source= & E:test27.mdb创建数据库cat.Create Workstringcat.ActiveConnection = Workstring声明 Table 对象Dim tb1 As New ADOX.Tabletb1.Name = 表 1cat.Tables.Append tb12、下面的代码将字段添加到表中,我们以一个单精度字段和一个文本字段为例。tb1.Columns.Append 成
46、绩, adSingletb1.Columns(成绩).Properties(default).Value = 0 字段默认值为 0要说明的是,设置默认值和充许为空相冲突,所以这句可以和上句互换tb1.Columns(成绩).Attributes = adColNullable tb1.Columns.Append 文本, adVarWChar, 50tb1.Columns(文本).Properties(default).Value = 5362以这种方式添加文本列的时候不能指定 Attributes 属性为 adColNullable,希望能有人指点下3、较为完整的添加字段的方法,与第二节没什
47、么区别Dim col1 As New ADOX.ColumnDim col2 As New ADOX.Columncol1.ParentCatalog = catcol1.Name = 成绩col1.Type = adSinglecol1.Properties(default).Value = 0col1.Attributes = adColNullabletb1.Columns.Append col1col2.ParentCatalog = catcol2.Name = 文本col2.Type = adVarWCharcol2.DefinedSize = 50col2.Attributes
48、= adColNullablecol2.Properties(default).Value = 2222tb1.Columns.Append col2如果先添加列,tb1.Columns.Append col1,而后设置其属性,可以不用 col1.ParentCatalog = cat 这一句4、在数据库已经存在的情况下,可以使用 SQL 语句创建表和字段,仍以添加一个单精度字段和一个文本字段为例,代码如下:Dim conn As New ADODB.ConnectionDim Workstring As StringWorkstring = Provider=Microsoft.Jet.OL
49、EDB.4.0; & Data Source= & E:test.mdbconn.Open Workstringstrsql = CREATE TABLE test9(编号 single default 0,姓名 text (50) not null default XXXX)conn.Execute strsqlSet conn = Nothing+网络内容未经验证+Dim Path As StringDim Db As DatabaseDim SQL As StringPath = App.Path & (Time, hhmmss) & .mdb 文件名及文
50、件存放路径If Dir(Path) = Then 判断该路径是否有文件 Set Db = Workspaces(0).CreateDatabase(Path, dbLangGeneral)创建新的文件 SQL = Create Table & TEST& ( & 单号 text,备注 text); Db.Execute SQLEnd if附录 2:sql 参考 1. ASP 与 Access 数据库连接: 2. ASP 与 SQL 数据库连接: 建立记录集对象: set rs=server.createobject( adodb.recordset ) rs.open
51、SQL 语句,conn,3,2 3. SQL 常用命令使用方法: (1) 数据记录筛选: sql= select * from 数据表 where 字段名=字段值 order by 字段名 desc sql= select * from 数据表 where 字段名 like %字段值% order by 字段名 desc sql= select top 10 * from 数据表 where 字段名 order by 字段名 desc sql= select * from 数据表 where 字段名 in ( 值 1 , 值 2 , 值 3 ) sql= select * from 数据表 w
52、here 字段名 between 值 1 and 值 2 (2) 更新数据记录: sql= update 数据表 set 字段名=字段值 where 条件表达式 sql= update 数据表 set 字段 1=值 1,字段 2=值 2 字段 n=值 n where 条件表达式 (3) 删除数据记录: sql= delete from 数据表 where 条件表达式 sql= delete from 数据表 (将数据表所有记录删除) (4) 添加数据记录: sql= insert into 数据表 (字段 1,字段 2,字段 3 ) values (值 1,值 2,值 3 ) sql= ins
53、ert into 目标数据表 select * from 源数据表 (把源数据表的记录添加到目标数据表) (5) 数据记录统计函数: AVG(字段名) 得出一个表格栏平均值 COUNT(*¦字段名) 对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法: sql= select sum(字段名) as 别名 from 数据表 where 条件表达式 set rs=conn.excute(sql) 用 rs( 别名 ) 获取统的计值,其它函数运
54、用同上。 (5) 数据表的建立和删除: CREATE TABLE 数据表名称(字段 1 类型 1(长度),字段 2 类型 2(长度) ) 例:CREATE TABLE tab01(name varchar(50),datetime default now() DROP TABLE 数据表名称 (永久性删除一个数据表) 4. 记录集对象的方法: rs.movenext 将记录指针从当前的位置向下移一行 rs.moveprevious 将记录指针从当前的位置向上移一行 rs.movefirst 将记录指针移到数据表第一行 rs.movelast 将记录指针移到数据表最后一行 rs.absolute
55、position=N 将记录指针移到数据表第 N 行 rs.absolutepage=N 将记录指针移到第 N 页的第一行 rs.pagesize=N 设置每页为 N 条记录 rs.pagecount 根据 pagesize 的设置返回总页数 rs.recordcount 返回记录总数 rs.bof 返回记录指针是否超出数据表首端,true 表示是,false 为否 rs.eof 返回记录指针是否超出数据表末端,true 表示是,false 为否 rs.delete 删除当前记录,但记录指针不会向下移动 rs.addnew 添加记录到数据表末端 rs.update 更新数据表记录 Record
56、set 对象方法 Open 方法 recordset.Open Source,ActiveConnection,CursorType,LockType,Options Source Recordset 对象可以通过 Source 属性来连接 Command 对象。Source 参数可以是一个 Command 对象名称、一段 SQL 命令、一个指定的数据表名称或是一个 Stored Procedure。假如省略这个参数,系统则采用 Recordset 对象的 Source 属性。 ActiveConnection Recordset 对象可以通过 ActiveConnection 属性来连接 C
57、onnection 对象。这里的 ActiveConnection 可以是一个 Connection 对象或是一串包含数据库连接信息(ConnectionString)的字符串参数。 CursorType Recordset 对象 Open 方法的 CursorType 参数表示将以什么样的游标类型启动数据,包括 adOpenForwardOnly、adOpenKeyset、adOpenDynamic 及 adOpenStatic,分述如下: - 常数 常数值 说明 - adOpenForwardOnly 0 缺省值,启动一个只能向前移动的游标(Forward Only)。 adOpenKey
58、set 1 启动一个 Keyset 类型的游标。 adOpenDynamic 2 启动一个 Dynamic 类型的游标。 adOpenStatic 3 启动一个 Static 类型的游标。 - 以上几个游标类型将直接影响到 Recordset 对象所有的属性和方法,以下列表说明他们之间的区别。 - Recordset 属性 adOpenForwardOnly adOpenKeyset adOpenDynamic adOpenStatic - AbsolutePage 不支持 不支持 可读写 可读写 AbsolutePosition 不支持 不支持 可读写 可读写 ActiveConnectio
59、n 可读写 可读写 可读写 可读写 BOF 只读 只读 只读 只读 Bookmark 不支持 不支持 可读写 可读写 CacheSize 可读写 可读写 可读写 可读写 CursorLocation 可读写 可读写 可读写 可读写 CursorType 可读写 可读写 可读写 可读写 EditMode 只读 只读 只读 只读 EOF 只读 只读 只读 只读 Filter 可读写 可读写 可读写 可读写 LockType 可读写 可读写 可读写 可读写 MarshalOptions 可读写 可读写 可读写 可读写 MaxRecords 可读写 可读写 可读写 可读写 PageCount 不支持
60、不支持 只读 只读 PageSize 可读写 可读写 可读写 可读写 RecordCount 不支持 不支持 只读 只读 Source 可读写 可读写 可读写 可读写 State 只读 只读 只读 只读 Status 只读 只读 只读 只读 AddNew 支持 支持 支持 支持 CancelBatch 支持 支持 支持 支持 CancelUpdate 支持 支持 支持 支持 Clone 不支持 不支持 Close 支持 支持 支持 支持 Delete 支持 支持 支持 支持 GetRows 支持 支持 支持 支持 Move 不支持 支持 支持 支持 MoveFirst 支持 支持 支持 支持 MoveLast 不支持 支持 支持 支持 MoveNext 支持 支持 支持 支持 MovePrevious 不支持 支持 支持 支持 NextRecordset 支持 支持 支
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论