2008年07月06日
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
相关文章 [查看与 vb 添加记录 VB 添加记录 相关的全部文章]- vb 句柄
- VB杀手-VBKiller
- VB 自动关闭javascript 弹出窗口
- VB6.0 鼠标滚轮滑轮解决方法
- vb窗体间传递参数
- vb 暂停程序
- c#与vb语法区别
- vb多线程技术
0 回复,0 引用: vb 添加记录
添加回复