public string[] SplitDataString(string columnData) { List <string> data = new List <string>(); if (FieldType == "bit") { foreach (char c in columnData) { data.Add(c.ToString()); } return(data.ToArray()); } else if (FieldType == "int" || FieldType == "real" || FieldType == "money" || FieldType == "datetime" || FieldType == "smalldatetime" || Regex.IsMatch(FieldType, @"^decimal\(\d+,\d+\)$")) { string[] array = columnData.Split("¤".ToCharArray()); return(array); } else if (FieldType.Contains("varchar")) { string[] array = columnData.Split("¤".ToCharArray()); return(array); } throw new NotImplementedException("Typen " + FieldType + " tas inte om hand i SplitDataString."); }
public string DeSerializeData(string value) { if (FieldType == "bit") { if (value == "n") { return("null"); } else { return(value); } } else if (FieldType == "int" || FieldType == "real" || FieldType == "money" || Regex.IsMatch(FieldType, @"^decimal\(\d+,\d+\)$")) { if (value == "") { return("null"); } else { return(value); } } else if (FieldType == "datetime") { if (value == "") { return("null"); } else { DateTime dateTime = DateTime.FromBinary(long.Parse(value)); return("'" + dateTime.ToString("yyyy-MM-dd HH:mm:ss:fff") + "'"); } } else if (FieldType == "smalldatetime") { if (value == "") { return("null"); } else { DateTime dateTime = DateTime.FromBinary(long.Parse(value)); return("'" + dateTime.ToString("yyyy-MM-dd HH:mm") + "'"); } } else if (FieldType.Contains("varchar")) { if (value == "") { return("null"); } else { string s = value.Substring(1, value.Length - 2); s = s.Replace("\\¤", "¤").Replace("\\[", "[").Replace("'", "''").Replace("\r\n", "' + char(13) + char(10) + '").Replace("\n", "' + char(10) + '"); return("'" + s + "'"); } } throw new NotImplementedException("Typen " + FieldType + " tas inte om hand i DeSerializeData."); }
public string SerializeData(object oData) { if (FieldType == "bit") { if (oData is DBNull) { return("n"); } else { return(((bool)oData) ? "1" : "0"); } } else if (FieldType == "int") { if (oData is DBNull) { return("¤"); } else { return(Convert.ToInt32(oData).ToString() + "¤"); } } else if (FieldType == "real") { if (oData is DBNull) { return("¤"); } else { return(Convert.ToDouble(oData).ToString().Replace(",", ".") + "¤"); } } else if (FieldType == "money") { if (oData is DBNull) { return("¤"); } else { return(Convert.ToDecimal(oData).ToString("0.####").Replace(",", ".") + "¤"); } } else if (Regex.IsMatch(FieldType, @"^decimal\(\d+,\d+\)$")) // decimal (x,y) { if (oData is DBNull) { return("¤"); } else { return(Convert.ToDecimal(oData).ToString().Replace(",", ".") + "¤"); } } else if (FieldType == "datetime" || FieldType == "smalldatetime") { if (oData is DBNull) { return("¤"); } else { return(((DateTime)oData).ToBinary().ToString() + "¤"); } } else if (FieldType.Contains("varchar")) { if (oData is DBNull) { return("¤"); } else { return("\"" + oData.ToString().Replace("¤", "\\¤").Replace("[", "\\[") + "\"¤"); } } throw new NotImplementedException("Typen " + FieldType + " tas inte om hand i SerializeData."); }