我希望将一个具有给定名称的列放入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;
}
}
}
答案 0 :(得分:1)
您应该可以使用DataTable.Columns Property
获取属于该表的列的集合。
从具有指定名称的集合中获取DataColumn。
类似
DataColumn dc = dt.Columns["YourColumnName"];
答案 1 :(得分:0)
如果您希望Column
名称在Columns property
中使用DataTable
而不是Rows
,请执行以下操作:
foreach (DataColumn dc in dt.Columns)
{
String field1 = dc.ColumnName;
MessageBox.Show(field1);
}