数据库查询时有两个条件时该怎么写?
不知道为什么,这句语句总是出错
set conn = server.createobject ("adodb.connection")
conn.open "driver={SQL Server};server=GEORGEZXC;uid=sa;pwd=sa;database=CAMPUS"
set RSActiveCourses = conn.Execute ("Delete from OCStudentCourses " _
& " where StudentID = " & session("StudentID") & " and CourseID = " _
& Request.Form("CourseToDrop") & " and Status = 'InProgress'")
该怎么解决啊,谢谢了
问题点数:30、回复次数:8Top
1 楼eyun(艺云)回复于 2003-11-03 21:05:14 得分 10
StudentID = '" & session("StudentID") & "' and CourseID = '"& Request.Form("CourseToDrop") & "' and Status = 'InProgress'")
少了两个'',Top
2 楼fqingchu(昊天)回复于 2003-11-03 21:12:13 得分 5
数据类型是什么??
CourseID是长整型时
最好用
StudentID = '" & session("StudentID") & "' and CourseID = "& int(Request.Form("CourseToDrop")) & " and Status = 'InProgress'")
Top
3 楼georgezxc(想想就是)回复于 2003-11-03 21:13:37 得分 0
set RSActiveCourses = conn.execute ("SELECT OCStudentCourses.StudentID, " _
& "OCStudentCourses.Status, OCStudentCourses.CourseID, OCCourses.CourseName " _
& "FROM OCStudentCourses INNER JOIN OCCourses ON " _
& "OCStudentCourses.CourseID = OCCourses.CourseID " _
& "WHERE OCStudentCourses.StudentID = " & Session("StudentID"))
& " AND OCStudentCourses.Status = 'InProgress')")
那这句为什么错啊?Top
4 楼georgezxc(想想就是)回复于 2003-11-03 21:18:25 得分 0
CourseID和StudentID都是int型的,Status是text型的,只要去掉And 后面的这个条件,立马就对了,所以估计是两个并列条件查询的错误,该怎么改写呢?Top
5 楼gridcn(gridcn)回复于 2003-11-03 21:46:04 得分 10
那这句为什么错啊?
--------------------
括号明显不对应。Top
6 楼georgezxc(想想就是)回复于 2003-11-03 22:01:23 得分 0
哦,不好意思,这是笔误,最后第二个括号是没有的,去掉依然出错的Top
7 楼ronanlin(旭)回复于 2003-11-03 23:08:55 得分 5
& "WHERE OCStudentCourses.StudentID = " & Session("StudentID")) & _
后面差个& _连接符Top
8 楼georgezxc(想想就是)回复于 2003-11-03 23:13:39 得分 0
问题已经解决,发现是数据库字段定义的类型问题,多谢各位了Top




