private static void _parse_schema_info(ref IDataReader reader, ref List <SchemaInfo> retItems) { while (reader.Read()) { try { SchemaInfo si = new SchemaInfo(); if (!string.IsNullOrEmpty(reader["Table"].ToString())) { si.Table = (string)reader["Table"]; } if (!string.IsNullOrEmpty(reader["Column"].ToString())) { si.Column = (string)reader["Column"]; } if (!string.IsNullOrEmpty(reader["IsPrimaryKey"].ToString())) { si.IsPrimaryKey = (bool)reader["IsPrimaryKey"]; } if (!string.IsNullOrEmpty(reader["IsIdentity"].ToString())) { si.IsIdentity = (bool)reader["IsIdentity"]; } if (!string.IsNullOrEmpty(reader["IsNullable"].ToString())) { si.IsNullable = (bool)reader["IsNullable"]; } if (!string.IsNullOrEmpty(reader["MaxLength"].ToString())) { si.MaxLength = (int)reader["MaxLength"]; } if (!string.IsNullOrEmpty(reader["Order"].ToString())) { si.Order = (int)reader["Order"]; } if (!string.IsNullOrEmpty(reader["DefaultValue"].ToString())) { si.DefaultValue = (string)reader["DefaultValue"]; } MSSQLDataType dt = MSSQLDataType.None; if (!string.IsNullOrEmpty(reader["DataType"].ToString()) && Enum.TryParse <MSSQLDataType>((string)reader["DataType"], true, out dt)) { si.DataType = dt; } retItems.Add(si); } catch { } } if (!reader.IsClosed) { reader.Close(); } }
private static string resolve_data_type(MSSQLDataType type, int?maxLength, bool?identity) { string strMaxLength = !maxLength.HasValue || maxLength.Value <= 0 ? string.Empty : "(" + maxLength.Value.ToString() + ")"; string retStr = string.Empty; switch (type) { case MSSQLDataType.INT: retStr = identity.HasValue && identity.Value ? "SERIAL" : "INTEGER"; break; case MSSQLDataType.BIGINT: retStr = identity.HasValue && identity.Value ? "BIGSERIAL" : "BIGINT"; break; case MSSQLDataType.FLOAT: retStr = "FLOAT"; break; case MSSQLDataType.BIT: retStr = "BOOLEAN"; break; case MSSQLDataType.CHAR: retStr = "CHAR"; break; case MSSQLDataType.DATETIME: retStr = "TIMESTAMPTZ"; break; case MSSQLDataType.VARCHAR: retStr = "VARCHAR" + strMaxLength; break; case MSSQLDataType.NVARCHAR: retStr = "VARCHAR" + strMaxLength; break; case MSSQLDataType.VARBINARY: retStr = "BYTEA"; break; case MSSQLDataType.UNIQUEIDENTIFIER: retStr = "UUID"; break; default: retStr = string.Empty; break; } return(retStr); }
private CodeSnippetExpression GetDataType(string type) { IDataType de = null; CodeSnippetExpression cs = new CodeSnippetExpression(); switch (this.mOption.DataBaseType) { case AccessDataBaseType.MsSql: de = new MSSQLDataType(); break; case AccessDataBaseType.Access: de = new AccessDataType(); break; } cs = de.GetDataType(type); return(cs); }
public SchemaInfo() { DataType = MSSQLDataType.None; }