[英]Using SSIS 2005 to retrieve data from SQL Server 2008 R2 database
[英]How to retrieve and arrange data from SQL Server 2008 R2
我正在处理的数据库将每个条目保存为这样的行...
| PK (Jobnumber)|ReportStatus | ECD | InspectionStatus | ECD | QualificationStatus | ECD |ect..
但是,在Winforms应用程序中,我的客户希望在这样的列中显示数据...
(PK)Job Number
_________________________
Report Status | ECD |
_________________________
Inspection Status | ECD |
_________________________
Qual. Status | ECD |
_________________________
etc...
我可以很容易地存储数据,它只有一行。
我的问题是如何检索数据并将其重新排列在如上述布局的datagridview中。
编辑:当我创建datagridview时,我用唯一的名称“标记”每个单元格,该名称将与数据库标题名称匹配。 然后我通过数据循环。
SDR = cmd.ExecuteReader(CommandBehavior.SingleResult)
While SDR.Read
If SDR.HasRows Then
For i As Integer = 0 To SDR.FieldCount - 1
If SDR.GetName(i).Contains("ECD") Then
clm = "DGVC_PS_ECD"
Dim dt As Date = SDR.GetSqlValue(i).ToString
If Not dt = "Null" Then Me.DGV_PS.Rows(GetRowIndex(SDR.GetName(i))).Cells(clm).Value = dt.ToShortDateString
ElseIf SDR.GetName(i).Contains("JobNumber") Then
'do nothing
ElseIf SDR.GetName(i).Contains("Comment") Then
Me.TB_PS_Comment.Text = SDR.GetSqlValue(i).ToString
ElseIf SDR.GetName(i).Contains("Status") Then
clm = "DGVC_PS_Status"
Dim sts As String = SDR.GetSqlValue(i).ToString
If Not sts = "Null" Then Me.DGV_PS.Rows(GetRowIndex(SDR.GetName(i))).Cells(clm).Value = sts
End If
Next
End If
End While
GetRowIndex
是一个整数函数,该函数循环遍历datagriview以查找rowindex。
抱歉,这是我在StackOverFlow上遇到的第一个问题。
我会用apply
:
select v.*
from t cross apply
( ('Report Status', ReportStatus),
('Inspection Status', Inspection Status),
('Qualification Status', QualificationStatus)
) v(which, val);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.