小编Mid*_*das的帖子

Microsoft游标引擎错误'80040e21'多步操作生成错误.检查每个状态值

我正在看一下在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兼容.我们不得不使用新的提供程序,从那时起需要调整一些东西才能正常工作.

有任何想法吗?

vb6 com+ ado asp-classic jscript

5
推荐指数
1
解决办法
1600
查看次数

你会如何在Rust中编写这个C++循环的等价物

Rust的for循环与C风格的循环略有不同.我试图弄清楚我是否可以在Rust中以类似的方式获得相同的结果.注意i ^ 2 <n的条件.

for (int i = 2; i * i < n; i++)
{
    // code goes here ...
}
Run Code Online (Sandbox Code Playgroud)

iteration syntax loops rust

3
推荐指数
2
解决办法
314
查看次数

如何限制Rust中的T只接受数字类型?

我想创建一些具有泛型类型T的属性的结构.这个泛型类型将用于计算,所以我希望T是所有类型的数字类型,如i32,u32,f32,uf32,i64等.我能做到吗?

generics rust

2
推荐指数
1
解决办法
742
查看次数

标签 统计

rust ×2

ado ×1

asp-classic ×1

com+ ×1

generics ×1

iteration ×1

jscript ×1

loops ×1

syntax ×1

vb6 ×1