public void getData(string regExStr, string recordType, string logID) { string sql = @"SELECT logkey,id,group8 from [logger].[dbo].[loginfo] " + "WHERE group8 like '" + regExStr + "' " + "AND logID =" + logID; Dictionary <string, string> data = readData(sql); string[] dataTypes = null; List <typeRec> typeList = new List <typeRec>(); string[] tmpTypes; foreach (KeyValuePair <string, string> rec in data) { // tmpTypes = rec.Value.Split((char)0x1c); if (recordType == "00" || recordType == "01") { typeRec r = new typeRec(); r.typeIndex = rec.Key; r.typeContent = rec.Value; typeList.Add(r); } tmpTypes = rec.Value.Split((char)0x1c); if (tmpTypes[3] == recordType) { int myInd = tmpTypes[0].Length + tmpTypes[1].Length + tmpTypes[2].Length + tmpTypes[3].Length; string typeData = rec.Value.Substring(myInd + 4, rec.Value.Length - (myInd + 4)); dataTypes = typeData.Split((char)0x1c); foreach (string item in dataTypes) { typeRec r = new typeRec(); r.typeIndex = rec.Key; r.typeContent = item; typeList.Add(r); } } } switch (recordType) { case "00": TRec tr = new TRec(); if (tr.writeData(typeList, Key, logID)) { setBitToTrue(recordType, logID); } break; case "01": TReply treply = new TReply(); if (treply.writeData(typeList, Key, logID)) { // set screen bit to true setBitToTrue(recordType, logID); } break; case "11": screenRec scrRec = new screenRec(); if (scrRec.writeData(typeList, Key, logID)) { setBitToTrue(recordType, logID); } break; case "12": stateRec staRec = new stateRec(); if (staRec.writeData(typeList, Key, logID)) { setBitToTrue(recordType, logID); } break; case "13": configParamsRec cpRec = new configParamsRec(); if (cpRec.writeData(typeList, Key, logID)) { setBitToTrue(recordType, logID); } break; case "15": FitRec fitRec = new FitRec(); if (fitRec.writeData(typeList, Key, logID)) { setBitToTrue(recordType, logID); } break; case "16": ConfigIdRec cir = new ConfigIdRec(); if (cir.writeData(typeList, Key, logID)) { setBitToTrue(recordType, logID); } break; case "1A": EnhancedParamsRec epRec = new EnhancedParamsRec(); if (epRec.writeData(typeList, Key, logID)) { setBitToTrue(recordType, logID); } break; case "1B": //writeMAC(typeList); break; case "1C": DateAndTimeRec dt = new DateAndTimeRec(); if (dt.writeData(typeList, Key, logID)) { setBitToTrue(recordType, logID); } break; case "1E": //writeDispenser(typeList); break; case "42": ExtEncryptionRec xer = new ExtEncryptionRec(); if (xer.writeData(typeList, Key, logID)) { setBitToTrue(recordType, logID); } break; } }