-- DAL files--
DataSet ExecuteDataSet(string sql)
{
DataSet ds = null;
SqlConnection conn = null;
try
{
conn = new SqlConnection(this.SourceTable.Database.ConnectionString);
conn.Open();
SqlDataAdapter ada = new SqlDataAdapter(sql, conn);
ds = new DataSet();
ada.Fill(ds);
}
catch
{
}
finally
{
if(null != conn && conn.State == ConnectionState.Closed)
{
conn.Close();
}
}
return ds;
}
string GetEmptyStringFromIndex(int index)
{
string rtnEmptyString = string.Empty;
for(int i=0;i<index;i++)
{
rtnEmptyString += " ";
}
return rtnEmptyString;
}
//是否葉子結點.
bool IsLeaf(string sql)
{
SqlConnection conn = null;
IDataReader reader = null;
bool rntValue = false;
try
{
conn = new SqlConnection(this.SourceTable.Database.ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand(sql,conn);
reader = cmd.ExecuteReader();
rntValue = reader.Read();
}
catch
{
}
finally
{
if(null != reader && !reader.IsClosed)
{
reader.Close();
}
if(null != conn && conn.State == ConnectionState.Closed)
{
conn.Close();
}
}
return rntValue;
}
DataSet ExecuteDataSet(string sql)
{
DataSet ds = null;
SqlConnection conn = null;
try
{
conn = new SqlConnection(this.SourceTable.Database.ConnectionString);
conn.Open();
SqlDataAdapter ada = new SqlDataAdapter(sql, conn);
ds = new DataSet();
ada.Fill(ds);
}
catch
{
}
finally
{
if(null != conn && conn.State == ConnectionState.Closed)
{
conn.Close();
}
}
return ds;
}
string GetEmptyStringFromIndex(int index)
{
string rtnEmptyString = string.Empty;
for(int i=0;i<index;i++)
{
rtnEmptyString += " ";
}
return rtnEmptyString;
}
//是否葉子結點.
bool IsLeaf(string sql)
{
SqlConnection conn = null;
IDataReader reader = null;
bool rntValue = false;
try
{
conn = new SqlConnection(this.SourceTable.Database.ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand(sql,conn);
reader = cmd.ExecuteReader();
rntValue = reader.Read();
}
catch
{
}
finally
{
if(null != reader && !reader.IsClosed)
{
reader.Close();
}
if(null != conn && conn.State == ConnectionState.Closed)
{
conn.Close();
}
}
return rntValue;
}
string GetCSharpVariableType(ColumnSchema column)
{
if (column.Name.EndsWith("TypeCode")) return column.Name;
switch (column.DataType)
{
case DbType.AnsiString: return "string";
case DbType.AnsiStringFixedLength: return "string";
case DbType.Binary: return "byte[]";
case DbType.Boolean: return "bool";
case DbType.Byte: return "byte";
case DbType.Currency: return "decimal";
case DbType.Date: return "DateTime";
case DbType.DateTime: return "DateTime";
case DbType.Decimal: return "decimal";
case DbType.Double: return "double";
case DbType.Guid: return "Guid";
case DbType.Int16: return "short";
case DbType.Int32: return "int";
case DbType.Int64: return "long";
case DbType.Object: return "object";
case DbType.SByte: return "sbyte";
case DbType.Single: return "float";
case DbType.String: return "string";
case DbType.StringFixedLength: return "string";
case DbType.Time: return "TimeSpan";
case DbType.UInt16: return "ushort";
case DbType.UInt32: return "uint";
case DbType.UInt64: return "ulong";
case DbType.VarNumeric: return "decimal";
default:
{
return "__UNKNOWN__" + column.NativeType;
}
}
}
string GetFieldValue(ColumnSchema column,string readerObjectStr)
{
if (column.Name.EndsWith("TypeCode")) return column.Name;
switch (column.DataType)
{
case DbType.AnsiString: return "Convert.ToString(" + readerObjectStr + ")";
case DbType.AnsiStringFixedLength: return "Convert.ToString(" + readerObjectStr + ")";
case DbType.Binary: return "Convert.ToString(" + readerObjectStr + ")";
case DbType.Boolean: return "Convert.ToBoolean(" + readerObjectStr + ")";
case DbType.Byte: return "Convert.ToByte(" + readerObjectStr + ")";
case DbType.Currency: return "Convert.ToDecimal(" + readerObjectStr + ")";
case DbType.Date: return "Convert.ToDateTime(" + readerObjectStr + ")";
case DbType.DateTime: return "Convert.ToDateTime(" + readerObjectStr + ")";
case DbType.Decimal: return "Convert.ToDecimal(" + readerObjectStr + ")";
case DbType.Double: return "Convert.ToDouble(" + readerObjectStr + ")";
case DbType.Guid: return "Convert.ToString(" + readerObjectStr + ")";
case DbType.Int16: return "Convert.ToInt16(" + readerObjectStr + ")";
case DbType.Int32: return "Convert.ToInt32(" + readerObjectStr + ")";
case DbType.Int64: return "Convert.ToInt64(" + readerObjectStr + ")";
case DbType.Object: return "Convert.ToString(" + readerObjectStr + ")";
case DbType.SByte: return "Convert.ToSByte(" + readerObjectStr + ")";
case DbType.Single: return "Convert.ToSingle(" + readerObjectStr + ")";
case DbType.String: return "Convert.ToString(" + readerObjectStr + ")";
case DbType.StringFixedLength: return "Convert.ToString(" + readerObjectStr + ")";
case DbType.Time: return "Convert.ToString(" + readerObjectStr + ")";
case DbType.UInt16: return "Convert.ToUInt16(" + readerObjectStr + ")";
case DbType.UInt32: return "Convert.ToUInt32(" + readerObjectStr + ")";
case DbType.UInt64: return "Convert.ToUInt64(" + readerObjectStr + ")";
case DbType.VarNumeric: return "Convert.ToDecimal(" + readerObjectStr + ")";
default:
{
return "__UNKNOWN__" + column.NativeType;
}
}
}
string GetPrimaryKeys(TableSchema table)
{
string _keys = string.Empty;
foreach(MemberColumnSchema memberColumnSchema in table.PrimaryKey.MemberColumns)
{
_keys += GetCSharpVariableType(memberColumnSchema) + " _" + memberColumnSchema.Name + ",";
}
if(string.Empty != _keys)
{
_keys = _keys.Substring(0,_keys.Length-1);
}
return _keys;
}
string GetPrimaryKeysValue(TableSchema table)
{
string _keys = string.Empty;
foreach(MemberColumnSchema memberColumnSchema in table.PrimaryKey.MemberColumns)
{
_keys += memberColumnSchema.Name + ",";
}
if(string.Empty != _keys)
{
_keys = _keys.Substring(0,_keys.Length-1);
}
return _keys;
}
string GetPrimaryKeysText(TableSchema table)
{
string _keys = string.Empty;
foreach(MemberColumnSchema memberColumnSchema in table.PrimaryKey.MemberColumns)
{
_keys += "_" + memberColumnSchema.Name + ",";
}
if(string.Empty != _keys)
{
_keys = _keys.Substring(0,_keys.Length-1);
}
return _keys;
}
string GetPrimaryKeysValueAndText(TableSchema table)
{
string _keys = string.Empty;
foreach(MemberColumnSchema memberColumnSchema in table.PrimaryKey.MemberColumns)
{
_keys += memberColumnSchema.Name + "='\"+_" + memberColumnSchema.Name + "+\"'" + " AND ";
}
if(string.Empty != _keys)
{
_keys = _keys.Substring(0,_keys.Length-5);
}
return _keys;
}
string GetStandardPropertyName(string colName)
{
colName = colName.ToLower();
string _firstChar = colName.Substring(0,1);
return colName.Replace(_firstChar,_firstChar.ToUpper());
}