我收到此错误:" 无法更改具有Command对象作为其源的Recordset对象的ActiveConnection属性。"什么时候打开一个记录集。我应该注意的一件事:当它被编写为内联SQL时,此过程有效,但由于显而易见的原因被删除。
我已经阅读过该设置' nocount on'我正在使用的存储过程会解决这个问题,但事实并非如此。所以,希望你们大家可以帮助我。
以下是初始化的连接:
Dim objConn As ADODB.Connection
sConn = System.Configuration.ConfigurationManager.ConnectionStrings("ConnString").ConnectionString()
objConn = CreateObject("ADODB.Connection")
objConn.ConnectionString = sConn
objConn.CursorLocation = ADODB.CursorLocationEnum.adUseServer
objConn.Open(sConn)
然后:
cmd = New ADODB.Command()
cmd.ActiveConnection = objConn
cmd.CommandText = "someProc"
cmd.CommandType = ADODB.CommandTypeEnum.adCmdStoredProc
cmd.NamedParameters = True
cmd.Parameters.Append(cmd.CreateParameter("SomeID", ADODB.DataTypeEnum.adVarChar, ADODB.ParameterDirectionEnum.adParamInput, 20, params("SomeID")))
objRec = New ADODB.Recordset()
objRec.Open(cmd, objConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)
以前有人经历过吗?提前谢谢。
答案 0 :(得分:2)
我在相当长一段时间内没有使用过ADO(当然从未在.NET中使用过),所以这是一个猜测,但objRec.Open
来自Nothing
:
如果在Source参数中传递Command对象并传递一个 ActiveConnection参数,发生错误。 ActiveConnection 必须已将Command对象的属性设置为有效 连接对象或连接字符串。
因此,听起来您的问题是您正在将连接传递到objRec.Open(cmd, , ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)
来电。由于该参数是可选的,请尝试不传递它。我不确定您是否通过了objRec.Open(cmd, Nothing, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)
或只是省略了参数,请尝试:
DOCUMENT_ROOT/.htaccess
如果它不是那样的话,试试:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?((?!www\.)[^.]+)\.(website\.co\.uk)$ [NC]
RewriteRule ^/?$ http://www.%2/city/%1 [R=302,L]