需要帮助才能获取数据表的数据列



我想将具有给定名称的列放入 DataColumn 对象中,以便我可以迭代该列的行。我的代码如下。在标有伪代码的行中进行什么替换?

我想您可以安全地忽略所有这些代码并立即阅读 main() 方法代码。具体来说,转到行 -

DataColumn dc = getColumn("YourColumnName"); //PSEUDOCODE

代码是 -

using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
using System.Xml;
using System.Data.OleDb;
namespace ST_54125473205c4f38b466c43a15bc9d79.csproj
{
    [System.AddIn.AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]
    public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
    {
        #region VSTA generated code
        enum ScriptResults
        {
            Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
            Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
        };
        #endregion
        public void Main()
        {
            // TODO: Add your code here
            Dts.TaskResult = (int)ScriptResults.Success;
            OleDbDataAdapter oleDA = new OleDbDataAdapter();
            DataTable dt = new DataTable();
            DataColumn col = null;
            DataRow row = null;
            string strMsg = null;
            oleDA.Fill(dt, Dts.Variables["myADO_Recordset"].Value);
            foreach (DataRow dtRow in dt.Rows)
            {
                DataColumn dc = getColumn("YourColumnName"); //PSEUDOCODE
                    var field1 = dc.ColumnName;
                    MessageBox.Show(field1);
            }
            Dts.TaskResult = (int)ScriptResults.Success;
        }
    }
}

您应该能够使用 DataTable.Columns 属性

获取属于此表的列的集合。

并使用字符串索引器

从具有指定名称的集合中获取数据列。

所以像

DataColumn dc = dt.Columns["YourColumnName"];

如果你想要Column名称,请在DataTable中使用Columns property而不是获取Rows,例如:

 foreach (DataColumn dc in dt.Columns)
 {
     String field1 = dc.ColumnName;
     MessageBox.Show(field1);
 }

最新更新