[英]Using arrays for updates in visual basic
这是我现有的代码:
DBConn.BeginTrans
strSQL = "DELETE tblAvailable WHERE "
strSQL = strSQL + "(intResortID = " + Session("TypeID") + ")"
strSQL = strSQL + " AND (dtm BETWEEN CONVERT(DATETIME,'" + cstr(Year(dtmStart)) + "-" + cstr(Month(dtmStart)) + "-" + cstr(Day(dtmStart)) + "', 102)"
strSQL = strSQL + " AND CONVERT(DATETIME,'" + cstr(Year(dtmEnd)) + "-" + cstr(Month(dtmEnd)) + "-" + cstr(Day(dtmEnd)) + "', 102))"
'SY SINGH
'Add code to only delete out room types contained in the spreadsheet
Dim i
strSQL = strSQL & "AND (strRoomType='" & strRooms(0) & "'"
For i = 1 to m_Rooms
strSQL = strSQL & " OR strRoomType='" & strRooms(i) & "'"
next
strSQL = strSQL & ")"
我想改变它来做一个更新,设置curprice,其中strRoomType等于房间数组。
这是我到目前为止所提出的
strSQL = "Update tblAvailable set curprice ="+ FixNumber(curprice (intCurrentData))
response.Write(strSQL)
strSQL = strSQL +"WHERE intResortID = " + Session("TypeID")
response.Write(strSQL)
strSQL = strSQL + " AND dtm BETWEEN CONVERT(DATETIME,'" + cstr(Year(dtmStart)) + "-" + cstr(Month(dtmStart)) + "-" + cstr(Day(dtmStart)) + "', 102)"
response.Write(strSQL)
strSQL = strSQL + " AND CONVERT(DATETIME,'" + cstr(Year(dtmEnd)) + "-" + cstr(Month(dtmEnd)) + "-" + cstr(Day(dtmEnd)) + "', 102)"
response.Write(strSQL)
dim i
strSQL = strSQL + " AND (strRoomType='" & strRooms(0) & "'"
response.Write(strSQL)
For i = 1 to m_Rooms
strSQL = strSQL & " OR strRoomType='" & strRooms(i) & "'"
response.Write(strSQL)
next
strSQL = strSQL & ")"
response.Write(strSQL)
DBConn.Execute strSQL
这是我收到的错误:
dtm'dtm' OR strRoomType='obeqvb'dtm' OR strRoomType='obeqvb')
Microsoft OLE DB Provider for SQL Server error '80040e14'
Incorrect syntax near 'obeqvb'.
/upload_excel_v3.asp, line 230
obeqvb是我的strroomtype,dtm是我的约会对象
您应该通过将它们加倍来逃避值中的任何单引号
'my'roomtype
应该是'my''roomtype'
你最好使用where strRoomType in(...)
而不是“或”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.