FieldAttributeEnum、DataTypeEnum:VB/ADODB 到 C#
FieldAttributeEnum, DataTypeEnum: VB/ADODB to C#
我正在将一些 VB 代码转换为 C#/.Net。我需要以下等价物:
RecordSet
FieldAttributeEnum
DataTypeEnum
我觉得RecordSet
可能会被DataSet
代替,但我不知道另外两个。有什么想法吗?
一些示例代码:
Private Function CreateRecordsetFromDataGrid(ByVal DGV As DataGridView) As Recordset
Dim rs As New Recordset
'Create columns in ADODB.Recordset
Dim FieldAttr As FieldAttributeEnum
FieldAttr = FieldAttributeEnum.adFldIsNullable Or
FieldAttributeEnum.adFldUpdatable
For Each iColumn As DataGridViewColumn In DGV.Columns
'only add Visible columns
If iColumn.Visible = True Then
Dim FieldType As DataTypeEnum
'select dataType
If iColumn.ValueType Is GetType(Boolean) Then
FieldType = DataTypeEnum.adBoolean
如前所述,这不是直译。正如@David 指出的那样,DataSet
可以有多个 table,但我只需要一个。另请注意@AndrewMortimer 在评论中给出的 link,这很有帮助。代码现在看起来像这样:
private DataTable GetDataTableFromDataGridView(DataGridView dataGridView)
{
const string TABLE_NAME = "SheetOne";
DataSet dataSet = new DataSet();
dataSet.Tables.Add(new DataTable(TABLE_NAME));
foreach (DataGridViewColumn iColumn in dataGridView.Columns)
{
// add only visible columns
if (iColumn.Visible == true)
{
DataColumn dataColumn = new DataColumn();
dataColumn.AllowDBNull = true;
我正在将一些 VB 代码转换为 C#/.Net。我需要以下等价物:
RecordSet
FieldAttributeEnum
DataTypeEnum
我觉得RecordSet
可能会被DataSet
代替,但我不知道另外两个。有什么想法吗?
一些示例代码:
Private Function CreateRecordsetFromDataGrid(ByVal DGV As DataGridView) As Recordset
Dim rs As New Recordset
'Create columns in ADODB.Recordset
Dim FieldAttr As FieldAttributeEnum
FieldAttr = FieldAttributeEnum.adFldIsNullable Or
FieldAttributeEnum.adFldUpdatable
For Each iColumn As DataGridViewColumn In DGV.Columns
'only add Visible columns
If iColumn.Visible = True Then
Dim FieldType As DataTypeEnum
'select dataType
If iColumn.ValueType Is GetType(Boolean) Then
FieldType = DataTypeEnum.adBoolean
如前所述,这不是直译。正如@David 指出的那样,DataSet
可以有多个 table,但我只需要一个。另请注意@AndrewMortimer 在评论中给出的 link,这很有帮助。代码现在看起来像这样:
private DataTable GetDataTableFromDataGridView(DataGridView dataGridView)
{
const string TABLE_NAME = "SheetOne";
DataSet dataSet = new DataSet();
dataSet.Tables.Add(new DataTable(TABLE_NAME));
foreach (DataGridViewColumn iColumn in dataGridView.Columns)
{
// add only visible columns
if (iColumn.Visible == true)
{
DataColumn dataColumn = new DataColumn();
dataColumn.AllowDBNull = true;