Argentini.Halide.H3Reader.GetColumnSize C# (CSharp) Method

GetColumnSize() public method

Get the size (dimension) of the column, or zero if no schema information is available.
public GetColumnSize ( string columnName ) : int
columnName string Name of the column.
return int
        public int GetColumnSize(string columnName)
        {
            int output = 0;

            if (schemaAvailable)
            {
                try
                {
                    System.Data.DataColumn[] myPrimaryKey = new System.Data.DataColumn[1];
                    myPrimaryKey[0] = schemaTable.Columns["columnName"];
                    schemaTable.PrimaryKey = myPrimaryKey;
                    System.Data.DataRow myDataRow = schemaTable.Rows.Find(columnName);
                    output = (int)myDataRow["ColumnSize"];
                }

                catch (Exception err)
                {
                    _lastSqlError = err;
                }
            }

            /*
            // Find by iteration
            foreach (DataRow myField in schemaTable.Rows)
            {
                if (myField["columnName"].ToString().ToLower() == columnName.ToLower())
                {
                    //For each property of the field...
                    foreach (DataColumn myProperty in schemaTable.Columns)
                    {
                        if (myProperty.ColumnName.ToLower() == "columnsize")
                        {
                            return (int)myField[myProperty];
                        }
                    }
                }
            }
            */

            return output;
        }

Usage Example

コード例 #1
0
ファイル: DataRow.cs プロジェクト: argentini/Halide
        /// <summary>
        /// Initialize the DatabaseRow with a single row form a Halide.H3Reader object.
        /// </summary>
        /// <param name="reader">An open Halide.H3Reader object that can be used to read a row from a database.</param>
        public DatabaseRow(H3Reader reader)
        {
            _fieldCount = reader.FieldCount;

            try
            {
                _dataItems = new DatabaseItem[_fieldCount];

                if (_dataIndex != null) _dataIndex.Clear();

                for (int x = 0; x < _fieldCount; x++)
                {
                    _dataItems[x] = new DatabaseItem();

                    String columnName = reader.ColumnName(x).ToLower();

                    _dataIndex.Add(columnName, x);

                    _dataItems[x].IsNullable = reader.GetColumnAllowNulls(columnName);
                    _dataItems[x].ColumnName = columnName;
                    _dataItems[x].ColumnSize = reader.GetColumnSize(columnName);
                    _dataItems[x].ColumnSQLType = reader.GetDataTypeName(columnName).ToLower();
                    _dataItems[x].IsAutoIncrementing = reader.GetColumnIsAutoIncrement(columnName);
                    _dataItems[x].IsIdentity = reader.GetColumnIsIdentity(columnName);
                    _dataItems[x].IsPrimaryKey = reader.GetColumnIsKey(columnName);
                    _dataItems[x].SystemDataType = reader.GetColumnSystemDataType(columnName).ToLower();
                    _dataItems[x].Value = reader.GetString(columnName);
                }
            }
            catch
            {
            }
        }