在下面的代码中,我获取了列名称,但在中找不到 Value 属性输入栏
我还需要获取列的值,而不仅仅是名称。
IDTSInput100 input = ComponentMetaData.InputCollection[0];
IDTSVirtualInput100 vinput = input.GetVirtualInput();
foreach (IDTSVirtualInputColumn100 inputcolumn in vinput.VirtualInputColumnCollection)
{
strAll += inputcolumn.Name + ", " + Environment.NewLine;
}
这段代码是 vb.net 但我认为这就是你正在寻找的
Public Class ScriptMain
Inherits UserComponent
Private columns As Integer()
Public Overrides Sub PreExecute()
Dim input As IDTSInput90 = ComponentMetaData.InputCollection(0)
ReDim columns(input.InputColumnCollection.Count)
columns = Me.GetColumnIndexes(input.ID)
System.Windows.Forms.MessageBox.Show(columns.Length.ToString())
End Sub
Public Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal Buffer As Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer)
While Buffer.NextRow()
Dim values As New System.Text.StringBuilder
For Each index As Integer In columns
Dim value As Object = Buffer(index)
'If value Is Not Nothing Then
values.Append(value)
'End If
values.Append(",")
Next
'' TODO: Write line to destination here
System.Windows.Forms.MessageBox.Show(values.ToString())
End While
End Sub
End Class
Me.GetColumnIndexes()
可以从您提供的代码创建方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)