2008年07月06日

vb 添加记录

vb 添加记录

.在向数据库中写入数据时,遇到了一点问题,当我按下保存的时候,提示文件名,目录名或卷标语法不正确!

With rst
.MoveFirst
(1) '.AddNew
.Fields(1) = txtLowTemp.Text
.Fields(2) = txtHighTemp.Text
.Fields(3) = txtPressure.Text
.Fields(4) = txtLowVacuum.Text
.Fields(5) = txtHighVacuum.Text
.Fields(6) = txtInflux.Text
.Fields(7) = txtOutflux.Text
.Fields(8) = txtCoef.Text

(3).Update
(2)'.Save
.Close
End With

(1)当使用.AddNew语句时,数据表各字段的写法必须为(用“!”的形式):

with rst

!LowTemp = txtLowTemp.Text
!HighTemp = txtHighTemp.Text.

……

end with

而且,使用AddNew的效果是,添加一条新的记录, .MoveFirst的本意,将记录移到表首进行覆盖写入的目的便达不到了,它会在表中新增一条记录,而不是覆盖原记录.

(2) 使用Save语句时,会出现错误提示"文件名,目录名或卷标语法不正确",原因如下:

Recordset对象的save方法是将记录集保存到一个文件中(注意这个文件不是你打开的数据库文件),

语法
recordset.Save FileName, PersistFormat
参数
FileName 可选。
正在装载数据……
文件的完整路径名,用于保存 Recordset。
PersistFormat可选。PersistFormatEnum 值,指定保存Recordset所使用的格式。可以是如下某个常量:
常量说明
adPersistADTG (默认)使用专用的“Advanced Data Tablegram”格式保存。
adPersistXML 使用 XML 格式保存。
因此,在你第一次在当前数据集中使用这个方法是需要指定文件名

因此,在这个地方使用.Save完全没有意义,达不到目的

(3)使用.Update之后,即可将数据写道表里去,而且进行了覆盖,无需其它的额外操作,


另外,在程序首次运行,数据库中表还是一张空表时,可以使用下述判断方法

If rst.EOF Then
txtLowTemp.Text = "0"
txtHighTemp.Text = "0"
txtPressure.Text = "0"
txtLowVacuum.Text = "0"
txtHighVacuum.Text = "0"
txtInflux.Text = "0"
txtOutflux.Text = "0"
txtCoef.Text = "0"
Else
'If Not rst.EOF Then
rst.MoveFirst

txtLowTemp.Text = rst.Fields(1)
txtHighTemp.Text = rst.Fields(2)
txtPressure.Text = rst.Fields(3)
txtLowVacuum.Text = rst.Fields(4)
txtHighVacuum.Text = rst.Fields(5)
txtInflux.Text = rst.Fields(6)
txtOutflux.Text = rst.Fields(7)
txtCoef.Text = rst.Fields(8)
End If

 

本文转自:SEO基地

本文链接:http://www.11zhuce.com/seo/815.html

2008年12月13日--张靓颖上海演唱会

0 回复,0 引用: vb 添加记录

添加回复

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。