主题:数据库编程
mengfeiqiu
[专家分:0] 发布于 2008-05-17 10:27:00
帮帮忙啊!!! 谢谢!!
为什么他老是提示这个:
实时错误 '-2147217900 (80040e14)':
第一行:'.'附近有语法错误。
调试的时候,指向这一段代码:
.Open "select 教师信息.*,系名称 from 教师信息,系部信息" & _
"where 教师信息.系编号=系部信息.系编号"
如果把这一段屏蔽掉,就会指向类似的下一个open处的代码
代码:
Private Sub Form_Load()
Set objCn = New Connection
With objCn
.Provider = "sqloledb"
.ConnectionString = "user id =sa;pwd=uag260811;data source=zheng;" & "initial catalog=学籍管理"
.Open
End With
Set objTeacher = New Recordset
With objTeacher
Set .ActiveConnection = objCn
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.Open "select 教师信息.*,系名称 from 教师信息,系部信息" & _
"where 教师信息.系编号=系部信息.系编号"
End With
Set objScore = New Recordset
With objScore
Set .ActiveConnection = objCn
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open "select 课编号,课程信息.名称 as 课程名称,学生 as 学生编号," & _
"成绩,姓名,系名称,班级信息.名称 as 班名称" & _
"from 选课记录,课程信息,学生信息,班级信息,系部信息" & _
"where 选课记录.课编号=课程信息.编号 and " & _
"选课记录.学生=学生信息.编号" & _
"and 学生信息.班编号=班级信息.编号 and " & _
"学生信息.系编号=系部信息.系编号 order by 学生编号"
If .RecordCount > 0 Then
.MoveFirst
Dim i%
While Not .EOF
For i = 0 To cmbNum.ListCount - 1
If .Fields("学生编号") = cmbNum.List(i) Then Exit For
Next
If i = cmbNum.ListCount Then cmbNum.AddItem ("学生编号")
.MoveNext
Wend
End If
.Filter = "学生编号='" & cmbNum & "'"
Set dgList.DataSource = objScore
dgList.Columns(2).Visible = False
dgList.Columns(4).Visible = False
dgList.Columns(5).Visible = False
dgList.Columns(6).Visible = False
End With
End Sub
回复列表 (共13个回复)
沙发
mengfeiqiu [专家分:0] 发布于 2008-05-17 15:36:00
高手帮帮忙啊~~~
板凳
老大徒伤悲 [专家分:29120] 发布于 2008-05-17 15:55:00
"select 教师信息.*,系名称 from 教师信息,系部信息 where 教师信息.系编号=系部信息.系编号"
书写错误,写成下面的样式看看:
"select A.*,B.系名称 from 教师信息 A,系部信息 B where A.系编号=B.系编号"
3 楼
mengfeiqiu [专家分:0] 发布于 2008-05-17 21:53:00
这样修改之后,可以了
但是用同样的方法修改下面那一段代码之后,还是报错
'选课记录'附近有语法错误!
这个又怎么修改啊???
再帮忙看一下!谢谢啦!
4 楼
mengfeiqiu [专家分:0] 发布于 2008-05-17 21:55:00
这样修改之后,可以了
但是用同样的方法修改下面那一段代码之后,还是报错
'选课记录'附近有语法错误!
这个又怎么修改啊???
再帮忙看一下!谢谢啦!
5 楼
老大徒伤悲 [专家分:29120] 发布于 2008-05-17 22:23:00
select 课编号,课程信息.名称 as 课程名称,学生 as 学生编号," & _
"成绩,姓名,系名称,班级信息.名称 as 班名称" & _
"from 选课记录,课程信息,学生信息,班级信息,系部信息" & _
"where 选课记录.课编号=课程信息.编号 and " & _
"选课记录.学生=学生信息.编号" & _
"and 学生信息.班编号=班级信息.编号 and " & _
"学生信息.系编号=系部信息.系编号 order by 学生编号"
改成:
select A.课编号,B.课程名称,C.学生编号," & _
"C.成绩,C.姓名,E.系名称,D.班名称" & _
"from 选课记录 A,课程信息 B,学生信息 C,班级信息 D,系部信息 E" & _
"where A.课编号=B.编号 and " & _
"A.学生=C.编号" & _
"and C.班编号=D.编号 and " & _
"C.系编号=D.系编号 order by C.学生编号"
我对你的数据库结果不知道,上述修改属于猜测。有可能会产生饮用的表里没有要求的字段,自己修改。
6 楼
mengfeiqiu [专家分:0] 发布于 2008-05-17 23:12:00
好像还是不行,修改之后就说A附近有语法错误,为什么呢?
7 楼
老大徒伤悲 [专家分:29120] 发布于 2008-05-18 09:53:00
你把自己的查询字符串发出来看看啊,不要让人猜谜语了!
还有你各个表的字段名、表间的关联字段。
8 楼
mengfeiqiu [专家分:0] 发布于 2008-05-18 15:24:00
学生信息:
编号 系编号 班编号 姓名 性别 生日 住址 电话 Email 简历
教师信息:
编号 姓名 系编号 电话 Email
班级信息:
编号 名称
系部信息:
系编号 系名称
课程信息:
编号 名称 教师 学分
选课记录:
编号 学生 课编号 成绩
9 楼
老大徒伤悲 [专家分:29120] 发布于 2008-05-18 15:35:00
[quote]你把自己的查询字符串发出来看看啊,不要让人猜谜语了![/quote]
10 楼
mengfeiqiu [专家分:0] 发布于 2008-05-20 09:47:00
问题解决了,其实也不用那么改,只是漏掉了一些空格,呵呵!
我来回复