using System;
namespace Model
{
public class Field
{
private bool _allownull;
private string _defaultvalue;
private string _fielddescn;
private int _fieldlength;
private string _fieldname;
private int _fieldnumber;
private int _fieldsize;
private DataType _fieldtype;
private bool _isidentifier;
private bool _iskeyfield;
private string _name;
public void SetFieldType(int sqlType)
{
switch (sqlType)
{
case 0x80:
this._fieldtype = DataType.varbinaryType;
return;
case 0x81:
this._fieldtype = DataType.textType;
return;
case 0x87:
this._fieldtype = DataType.datetimeType;
return;
case 0x74:
this._fieldtype = DataType.decimalType;
return;
case 2:
this._fieldtype = DataType.smallintType;
return;
case 3:
this._fieldtype = DataType.intType;
return;
case 4:
this._fieldtype = DataType.realType;
return;
case 5:
this._fieldtype = DataType.floatType;
return;
case 6:
this._fieldtype = DataType.MoneyType;
return;
case 7:
this._fieldtype = DataType.datetimeType;
return;
case 11:
this._fieldtype = DataType.bitType;
return;
case 12:
this._fieldtype = DataType.sql_variantType;
return;
case 0x11:
this._fieldtype = DataType.tinyintType;
return;
case 20:
this._fieldtype = DataType.bigintType;
return;
case 0x48:
this._fieldtype = DataType.uniqueidentifierType;
return;
}
this._fieldtype = DataType.ntextType;
}
public void SetFieldType(string sqlType)
{
switch (sqlType)
{
case "bit":
this._fieldtype = DataType.bitType;
break;
case "datetime":
this._fieldtype = DataType.datetimeType;
break;
case "int":
this._fieldtype = DataType.intType;
break;
case "ntext":
this._fieldtype = DataType.ntextType;
break;
case "uniqueidentifier":
this._fieldtype = DataType.uniqueidentifierType;
break;
case "money":
this._fieldtype = DataType.MoneyType;
break;
case "bigint":
this._fieldtype = DataType.bigintType;
break;
case "binary":
this._fieldtype = DataType.binaryType;
break;
case "char":
this._fieldtype = DataType.charType;
break;
case "decimal":
this._fieldtype = DataType.decimalType;
break;
case "float":
this._fieldtype = DataType.floatType;
break;
case "image":
this._fieldtype = DataType.imageType;
break;
case "nchar":
this._fieldtype = DataType.ncharType;
break;
case "numeric":
this._fieldtype = DataType.numericType;
break;
case "real":
this._fieldtype = DataType.realType;
break;
case "smalldatetime":
this._fieldtype = DataType.smalldatetimeType;
break;
case "smallint":
this._fieldtype = DataType.smallintType;
break;
case "smallmoney":
this._fieldtype = DataType.smallmoneyType;
break;
case "sql_variant":
this._fieldtype = DataType.sql_variantType;
break;
case "text":
this._fieldtype = DataType.textType;
break;
case "timestamp":
this._fieldtype = DataType.timestampType;
break;
case "tinyint":
this._fieldtype = DataType.tinyintType;
break;
case "varbinary":
this._fieldtype = DataType.varbinaryType;
break;
case "xml":
this._fieldtype = DataType.xmlType;
break;
case "varchar":
this._fieldtype = DataType.varcharType;
break;
default:
this._fieldtype = DataType.nvarcharType;
break;
}
}
public bool AllowNull
{
get
{
return this._allownull;
}
set
{
this._allownull = value;
}
}
public string DefaultValue
{
get
{
return this._defaultvalue;
}
set
{
this._defaultvalue = value;
}
}
public string FieldDescn
{
get
{
return this._fielddescn;
}
set
{
this._fielddescn = value;
}
}
public int FieldLength
{
get
{
return this._fieldlength;
}
set
{
this._fieldlength = value;
}
}
public string FieldName
{
get
{
return this._fieldname;
}
set
{
this._fieldname = value;
}
}
public int FieldNumber
{
get
{
return this._fieldnumber;
}
set
{
this._fieldnumber = value;
}
}
public int FieldSize
{
get
{
return this._fieldsize;
}
set
{
this._fieldsize = value;
}
}
public DataType FieldType
{
get
{
return this._fieldtype;
}
}
public bool IsIdentifier
{
get
{
return this._isidentifier;
}
set
{
this._isidentifier = value;
}
}
public bool IsKeyField
{
get
{
return this._iskeyfield;
}
set
{
this._iskeyfield = value;
}
}
public string SQLTypeString
{
get
{
switch (this._fieldtype)
{
case DataType.intType:
return "int";
case DataType.bitType:
return "bit";
case DataType.uniqueidentifierType:
return "uniqueidentifier";
case DataType.datetimeType:
return "datetime";
case DataType.MoneyType:
return "money";
case DataType.ntextType:
return "ntext";
case DataType.varcharType:
return "varchar";
case DataType.bigintType:
return "bigint";
case DataType.binaryType:
return "binary";
case DataType.charType:
return "char";
case DataType.decimalType:
return "decimal";
case DataType.floatType:
return "float";
case DataType.imageType:
return "image";
case DataType.ncharType:
return "nchar";
case DataType.numericType:
return "numeric";
case DataType.realType:
return "real";
case DataType.smalldatetimeType:
return "smalldatetime";
case DataType.smallintType:
return "smallint";
case DataType.smallmoneyType:
return "smallmoney";
case DataType.sql_variantType:
return "sql_variant";
case DataType.textType:
return "text";
case DataType.timestampType:
return "timestamp";
case DataType.tinyintType:
return "tinyint";
case DataType.varbinaryType:
return "varbinary";
case DataType.xmlType:
return "xml";
}
return "nvarchar";
}
}
public string TableName
{
get
{
return this._name;
}
set
{
this._name = value;
}
}
}
}

浙公网安备 33010602011771号