Vb6 如何正确地将新记录手动添加到空记录集中?
如何手动将新记录添加到新的空ADODB.Recordset(&M) 现在,我正在做的事情不起作用:Vb6 如何正确地将新记录手动添加到空记录集中?,vb6,ado,Vb6,Ado,如何手动将新记录添加到新的空ADODB.Recordset(&M) 现在,我正在做的事情不起作用: Dim rs as ADODB.Recordset rs.Open Dim Fields() as String Fields(0) = "SomeFieldName" Dim Values() as String Value(0) = "SomeValue" rs.AddNew Fields, Values 到位: rs.AddNew "SomeFieldName", "SomeValue
Dim rs as ADODB.Recordset
rs.Open
Dim Fields() as String
Fields(0) = "SomeFieldName"
Dim Values() as String
Value(0) = "SomeValue"
rs.AddNew Fields, Values
到位:
rs.AddNew "SomeFieldName", "SomeValue"
或就地多个字段
rs.AddNew Array("SomeFieldName", "AnotherFieldName"), Array("SomeValue", 1234)
或者使用单独的变量
Dim Fields As Variant
Dim Values As Variant
Fields = Array("SomeFieldName")
Values = Array("SomeValue")
rs.AddNew Fields, Values
编辑:这是如何为上面的AddNew示例合成记录集
Set rs = new Recordset
rs.Fields.Append "SomeFieldName", adVarChar, 1000, adFldIsNullable
rs.Fields.Append "AnotherFieldName", adInteger, , adFldIsNullable
rs.Open
我通常使用助手函数CreateRecordset
,如图所示
更新2018-11-12
您还可以使用字段索引作为序号,而不是字段名称作为字段数组的字符串,如下所示
rs.AddNew Array(0, 1), Array("SomeValue", 1234)
使用开放式连接接头:
sSql="INSERT into mytable (somefieldname, anotherfieldname) values ('Somevalue','Anothervalue')"
Conn.Execute sSql
在addnew()调用之前,是否可以包括记录集的声明和准备?我想确保我正在做所有需要做的事情,不多也不少。在AddNew update之后,在记录集上执行SQL语句的最佳方式是什么?@LoBellin此合成客户端记录集不会持久保存在RDBMS中。可以将其视为美化的2D阵列。不可能执行任何SQL,因为没有RDBMS。
sSql="INSERT into mytable (somefieldname, anotherfieldname) values ('Somevalue','Anothervalue')"
Conn.Execute sSql