簡體   English   中英

如何使用DataTable將對象數組(僅字段)保存到DB?

[英]How to Save an array of Objects (just the fields) to a DB using DataTable?

我有一個Web服務(SOAP),從那里可以獲得ArrayOfHumans(對象數組),我可以獲取該數組,但是我很難把它保存到DB,這很簡單(或者可能不是那么簡單)我只是無知!)是從數組中獲取一個對象,然后獲取一個屬性的值並將其保存在表列中。 我有以下代碼:

public JsonResult returnAllHumans()
{
    TestService.TestServiceSoapClient soapClient = new TestService.TestServiceSoapClient();
    object[] humansfromWS = soapClient.GetAllHumans();

    System.Data.DataTable table = new System.Data.DataTable();
    table.Columns.Add("FirstName", typeof(string));
    table.Columns.Add("LastName", typeof(string));
    table.Columns.Add("Gender", typeof(string));
    table.Columns.Add("Age", typeof(int));


    for (int i = 0; i < humansfromWS.Length; i++){
        table.Rows.Add(new object[] {
                    humansfromWS[i].Age(); (And my problem is here!)

我不知道我要怎么做才能將其從陣列中刪除?有人可以指出我正確的方向嗎?

humansfromWS[i]是一個對象,沒有Age方法。 您必須將其轉換為正確的類型。

請查看有關Add方法的文檔。 有兩種版本的Add 一個采用DataRow ,另一個采用單行的值數組。

public JsonResult returnAllHumans()
{
    TestService.TestServiceSoapClient soapClient = new TestService.TestServiceSoapClient();
    object[] humansfromWS = soapClient.GetAllHumans();

    System.Data.DataTable table = new System.Data.DataTable();
    table.Columns.Add("FirstName", typeof(string));
    table.Columns.Add("LastName", typeof(string));
    table.Columns.Add("Gender", typeof(string));
    table.Columns.Add("Age", typeof(int));


    for (int i = 0; i < humansfromWS.Length; i++){
        var humanFromWS = humansfromWS[i];
        table.Rows.Add(new object[] {
                    humansFromWS.FirstName,
                    humansFromWS.LastName,
                    humansFromWS.Gender,
                    humanFromWS.Age});
    }

要么

    for (int i = 0; i < humansfromWS.Length; i++){
        var humanFromWS = humansfromWS[i];
        var row = table.NewRow();
        row["Age"] = humanFromWS.Age;
        row["FirstName"] = humanFromWS.FirstName;
        row["LastName"] = humanFromWS.LastName;
        row["Gender"] = humanFromWS.Gender;
        table.Rows.Add(row);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM