ADO数据库添加数据一个正常一个出现,不知道那里的问题?

QQ342151559 2008-03-13 03:31:28
ADOConnetion.bas
Option Explicit
'定义公用数据库
'************************************
Public BookConn As ADODB.Connection
Public BookRs As ADODB.Recordset
Public BookRsStr As String '定义查询语句 BookInformation
Public BookRsStr1 As String '定义查询语句 Summary
Public BookRsStr2 As String '定义查询语句 Type & Language & Creative
Public BookRsStr3 As String
Public BookRsStr4 As String
Public BookRsCount As Integer '定义查询语句 BookRs.Count

'************************************
'定义数据库连接
Public Function BookADOConn(ByVal txtSQL As String) As ADODB.Recordset
Dim BookConnStr As String

BookConnStr = App.Path & "\Book.mdb"
Set BookConn = New ADODB.Connection
BookConn.Open "provider=microsoft.jet.OLEDB.4.0;Data source= " & BookConnStr
Set BookRs = New ADODB.Recordset
BookRs.Open txtSQL, BookConn, adOpenKeyset, adLockPessimistic
Set BookADOConn = BookRs
End Function

'撤销数据库资源
Public Function CancelADOConn()
Set BookRs = Nothing
Set BookConn = Nothing
End Function


frmType.frm

Option Explicit

Private Sub cmdAdd_Click()
BookRsStr2 = "select * from Type where Type='" & Trim(txtType.Text) & "'"
Set BookRs = BookADOConn(BookRsStr2)
If BookRs.EOF = False Then
MsgBox "Error,Please Input", vbOKOnly + vbExclamation, "警告"
BookRs.Close
txtType.SetFocus
Else

BookRsStr2 = "select * from Type"
Set BookRs = BookADOConn(BookRsStr2)
With BookRs
.AddNew
.Fields(1) = txtType.Text
.Update
.Close
End With
CancelADOConn

End If
End Sub

Private Sub cmdExit_Click()
Unload Me
End Sub

Private Sub Combo1_GotFocus()
Combo1.Clear
BookRsStr2 = "select * from Type"

'Type
Set BookRs = BookADOConn(BookRsStr2)
For BookRsCount = 1 To BookRs.RecordCount
Combo1.AddItem BookRs.Fields(1)
BookRs.MoveNext
Next BookRsCount
BookRs.Close
CancelADOConn
End Sub

frmLanguage.frm

Option Explicit

Private Sub cmdAdd_Click()
BookRsStr3 = "select * from Language where Language='" & txtLanguage.Text & "'"
Set BookRs = BookADOConn(BookRsStr3)
If BookRs.EOF = False Then
MsgBox "Error,Please Input", vbOKOnly + vbExclamation, "警告"
BookRs.Close
txtLanguage.SetFocus
Else

BookRsStr3 = "select * from Language"
Set BookRs = BookADOConn(BookRsStr3)
With BookRs
.AddNew
.Fields(1) = txtLanguage.Text
.Update
.Close
End With
CancelADOConn

End If
End Sub

Private Sub cmdExit_Click()
Unload Me
End Sub

Private Sub Combo1_GotFocus()
Combo1.Clear
BookRsStr3 = "select * from Language"

'Type
Set BookRs = BookADOConn(BookRsStr3)
For BookRsCount = 1 To BookRs.RecordCount
Combo1.AddItem BookRs.Fields(1)
BookRs.MoveNext
Next BookRsCount
BookRs.Close
CancelADOConn
End Sub

其中添加Type的没有出现错误,但是添加Language的出现 Open Recordset错误

哪位,前辈帮忙看看


...全文
51 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
QQ342151559 2008-03-14
  • 打赏
  • 举报
回复
可能是因为关键字的原因吧.我重新写了(换了表明和字段)没有问题了
谢谢
vbman2003 2008-03-13
  • 打赏
  • 举报
回复
select * from Language where Language='" & txtLanguage.Text & "
表名、字段名称用数据库关健字,表名和字段同名,我认为都是不规范的写法
vbman2003 2008-03-13
  • 打赏
  • 举报
回复
你的表名有用了数据库关健字的嫌疑(偶不能确定),sql语句中用[]号将表名括起来试试:

select * from [Type]
select * from [Language]
QQ342151559 2008-03-13
  • 打赏
  • 举报
回复
没有啊..
表Type和Language都在Book.mdb中且字段也没有问题...
of123 2008-03-13
  • 打赏
  • 举报
回复
Language 表是否存在,有无拼写错误?其中,Language 字段是否存在,有无拼写错误?

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧