小编ton*_*mke的帖子

在POST中从表单序列化备用属性名称

我正在为第三方API创建一个回调端点.调用者将POST多部分表单数据发送给它.

像这样的东西:

public SomeApiController : ApiController {
  public AModel Post(AModel input) {
    return input; //for demonstration
  }
}
Run Code Online (Sandbox Code Playgroud)

它将发布的一些字段在名称中有破折号,它不能是实际的.NET属性名称.因此,我使用[DataContract]和[DataMember(name ="blah")]来定义序列化规则.

模型:

//input model class
[DataContract]
public class AModel {
  [DataMember]
  public string NormalProperty {get; set;} //value set appropriately
  [DataMember(Name="abnormal-property")]
  public string AbnormalProperty {get; set;} //always null (not serializing)
}
Run Code Online (Sandbox Code Playgroud)

使用标准的XML和JSON帖子,这很好用.设置正常和异常属性,我可以继续我的业务.

但是,对于表单数据的任何变体(form-data,multiplart/form-data,x-urlencoded-form-data,AbnormalProperty都没有正确地反序列化到模型中,并且将始终为null.

是否有指令我缺少什么?

c# asp.net asp.net-web-api

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

迭代Recordset循环中的ADODB字段

我正在尝试创建一个函数,该函数接受ADODB Recordset并将其数据复制到新的记录集中.

为此,我使用do循环遍历源记录集的每一行.在do循环中,我需要使用每个循环来遍历每一行的Fields集合,以捕获其数据.

但是,VB6似乎在为每个循环阻塞- 它突出显示for循环迭代器的名称(下例中的"fld")并抛出一个未定义变量错误.

奇怪的是,当没有放在do循环中时,每个循环完全相同.

测试用例1 (无法定义"For Each fld"):

'targetTableName As String:要创建的新表的名称'sourceRecordSet As ADODB.Recordset:包含要发布到新targetTableName的结果的open recordset

Public Sub createTableFromRecordset(targetTableName As String, sourceRecordSet As ADODB.recordSet)
        '(irrelevant code omitted)

        'create MDB RS object
        Dim targetRecordSet As ADODB.recordSet
        Set targetRecordSet = mdbQuery("select * from targetTableName;")

        'write data to recordset
        sourceRecordSet.MoveFirst ' to be safe
        targetRecordSet.MoveFirst ' to be safe
        While Not sourceRecordSet.EOF
            targetRecordSet.AddNew
            For Each fld In sourceRecordSet.Fields 'fails here, …
Run Code Online (Sandbox Code Playgroud)

vb6 ms-access vba ado access-vba

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

VB6:如何在集合中正确存储类对象?

我正在寻找一个传统的VB6应用程序,并试图了解VB6 Collections如何工作.使用Collection.Add方法,我发现该集合只是存在其最后添加的选项,重复.例如,如果我将1,2,3,4和5添加到集合中,我将获得5,5,5,5和5作为集合内容.

在我的测试用例中,我有一个封装类模块,EncapsulationClass.cls,它存储了一些简单的字符串.它的实施:

Option Explicit

'ivars
Private pEntityId As String
Private pEntityName As String

'properties
    'pEntityId
    Public Property Get entityId() As String
        Let entityId = pEntityId
    End Property

    Private Property Let entityId(ByVal inEntityId As String)
        Let pEntityId = inEntityId
    End Property


    'pEntityName
    Public Property Get entityName() As String
        Let entityName = pEntityName
    End Property

    Private Property Let entityName(ByVal inEntityName As String)
        Let pEntityName = inEntityName
    End Property


'constructor
    Public Sub init(ByVal inEntityId As String, ByVal …
Run Code Online (Sandbox Code Playgroud)

vb6 vba

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

在多个脚本中定义包规范的元素?

假设我有一个包含mySpec.pks中定义的规范的包

CREATE OR REPLACE PACKAGE TEST_PKG AS 
    PROCEDURE TEST_1 ( asdf int );
    PROCEDURE TEST_2 ( asdf int, asdf2 char );
END;
Run Code Online (Sandbox Code Playgroud)

是否可以将每个过程的实现拆分为多个主体"CREATE OR REPLACE PACKAGE BODY"语句?我正在为身体文件想象这样的东西:

test1.pkb(仅执行过程*TEST_1*)

CREATE OR REPLACE PACKAGE BODY TEST_PKG AS 
    PROCEDURE TEST_1 ( asdf int ) IS
    BEGIN
        --do stuff
    END;
END;
Run Code Online (Sandbox Code Playgroud)

test2.pkb(仅执行过程*TEST_2*)

CREATE OR REPLACE PACKAGE BODY TEST_PKG AS 
    PROCEDURE TEST_2 ( asdf int, asdf2 char ) IS
    BEGIN
        --do stuff
    END;
END;
Run Code Online (Sandbox Code Playgroud)

sql database oracle plsql

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

标签 统计

vb6 ×2

vba ×2

access-vba ×1

ado ×1

asp.net ×1

asp.net-web-api ×1

c# ×1

database ×1

ms-access ×1

oracle ×1

plsql ×1

sql ×1