0

最近我正在研究一個需要從SAP表中獲取數據到MICROSOFT SQL表的項目,我已經完成了連接部分,並且還將SAP結構值拉入了ASP.NET。如何將SAP結構中的數據保存到MICROSOFT SQL表中?

我的問題是如何將結構保存到Sql表中?

這是我的代碼;

RfcDestination mydestination = RfcDestinationManager.GetDestination("rfcecp"); 
     RfcRepository myrepository = mydestination.Repository; 
     IRfcFunction EHSIMSFM = myrepository.CreateFunction("ZEHSIMS"); 

     EHSIMSFM.Invoke(mydestination); 

     IRfcTable positable = EHSIMSFM.GetTable("POSITIONTAB1"); 

     if (positable.RowCount > 0)"THIS IS THE SAP STRUCTURE WITH ROW COUNT '300'." 
     { 

      posid.Text = "working"; 
     } 
     else 
     { 

      posid.Text = "notworking"; 
     } 
    } 
    catch (Exception ej) 
    { 
     posid.Text = ej.Message; 
    } 

回答

1

您可以通過NCo 3 SAP Connector從返回的IRfcTable中收集所有信息。

這裏是從IRfcTable對象遍歷每行(IRfcStructure)的方式..

foreach (IRfcStructure row in rfcTable) 
{ 
    for (int element = 0; element < rfcTable.ElementCount; element++) 
    { 
     RfcElementMetadata metadata = rfcTable.GetElementMetadata(element); 
     // row.GetString(metadata.Name); // get value from row's field 
    } 

    // You have your data from a row here.. 
} 


實施例:下面是它轉換成IRfcTable數據表中的代碼。

public static DataTable CreateDataTable(IRfcTable rfcTable) 
{ 
    var dataTable = new DataTable(); 

    for (int element = 0; element < rfcTable.ElementCount; element++) 
    { 
     RfcElementMetadata metadata = rfcTable.GetElementMetadata(element); 
     dataTable.Columns.Add(metadata.Name); 
    } 

    foreach (IRfcStructure row in rfcTable) 
    { 
     DataRow newRow = dataTable.NewRow(); 
     for (int element = 0; element < rfcTable.ElementCount; element++) 
     { 
      RfcElementMetadata metadata = rfcTable.GetElementMetadata(element); 
      newRow[metadata.Name] = row.GetString(metadata.Name); 
     } 
     dataTable.Rows.Add(newRow); 
    } 

    return dataTable; 
} 

同樣,您可以將數據添加到MSSQL DB中。

+0

非常感謝。你能幫助我如何讓這段代碼在後臺運行嗎? – user2536023

+0

@ user2536023在這裏有很好的話題在stackoverflow。你可以按照這個例子http://stackoverflow.com/questions/177488/c-sharp-threading – Jan

相關問題