我正在看一下在VB6和Active Server Pages(JScript)中使用90年代编写的旧Web应用程序.应用程序从数据库中检索一些数据并将其存储在用于更新的记录集中.当它尝试更新字段时(见下文),它会出现'80040e21'错误.
rsSave.Fields('text') = Request.Form('strText').Item(i); // this line fails
Run Code Online (Sandbox Code Playgroud)
我检查了字段的类型,它是adVarWChar(202).我检查了'text'字段的大小是2000,比从表单中提取的大.我检查了所有字段的状态,它们都是adFieldOK(0).换句话说,通常出现此错误的任何常见嫌疑人都可以.
正在创建,填充然后返回记录集的COM +对象正在执行以下操作:
'Initialize command object
Set oCmd = CreateObject("ADODB.Command")
With oCmd
.CommandType = adCmdText
.CommandText = strsql
End With
Set cn = CreateObject("ADODB.Connection")
'Open connection to database
cn.Open strConn
oCmd.ActiveConnection = cn
Set rs = CreateObject("ADODB.Recordset")
With rs
Set .Source = oCmd
.LockType = adLockBatchOptimistic
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.Open
Set .ActiveConnection = Nothing
End With
Run Code Online (Sandbox Code Playgroud)
我尝试使用adLockOptimistic,但没有运气.
最后但并非最不重要的是,这个应用程序最初使用的是旧的Microsoft OleDb for Oracle,它不再与Windows Server 2008兼容.我们不得不使用新的提供程序,从那时起需要调整一些东西才能正常工作.
有任何想法吗?
Rust的for循环与C风格的循环略有不同.我试图弄清楚我是否可以在Rust中以类似的方式获得相同的结果.注意i ^ 2 <n的条件.
for (int i = 2; i * i < n; i++)
{
// code goes here ...
}
Run Code Online (Sandbox Code Playgroud) 我想创建一些具有泛型类型T的属性的结构.这个泛型类型将用于计算,所以我希望T是所有类型的数字类型,如i32,u32,f32,uf32,i64等.我能做到吗?