2008 November

Truncation of fields when CSV file is read using ADO.NET

I encountered a major problem with ADO.NET CSV reader in one of the projects where CSV File Import played a major role. When a field in the CSV file with a “–“(hyphen) is read, the characters before the “–“are discarded. For example the model F-150 is read as –150 and T-Bird in the model field is not being read. And some of the values were missing in some of the fields. Given below is the code I used :  string strConnString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + folderName + “;Extended Properties=”text;HDR=Yes; FMT=Delimited; IMEX=1””; string sqlSelect = “select * from [" + fileName + "]“; System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(strConnString.Trim()); conn.Open(); System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(sqlSelect, conn); DataSet ds = new DataSet(); ds.ReadXmlSchema(Server.MapPath(”xmlschema.xsd”)); ds.EnforceConstraints = false;  F-100 reads as -100 K-100 reads as -100 S-100 reads as -100 100-F reads as -100 100-K reads as -100 100-S reads as -100 100$F reads as 100 100$K reads as 100 100$S…

Method to sort an array of strings in descending order of number of words in each array element

Just adding a method which i wrote for an application for which the requirement was scrapped.Hope someone can refer to this silly method. ////// Method to sort an array of strings in descending order of number of words in each array element////// Array to be sorted/// Array sorted in descending order of number of words in each array element   private static string[] SortArrayWithDescendingWordCount(string[] strArray){//Array to store the number of words in each string of the array to be sortedint[] wordLengths = new int[strArray.Length];//variable to keep track of array index of wordLengths array.int arrayIndex = 0;foreach (string str in strArray){//split the string in to an array of words and store the word count in wordLengths array.wordLengths[arrayIndex] = str.Split(’ ‘).Length; ;arrayIndex++;}//Sort arrays(ascending order) by taking wordLenths array as key and strArray as valueArray.Sort(wordLengths, strArray);//now reverse strArray array to sort the array in descending order of number of words in each array elementArray.Reverse(strArray);return strArray;}

1 2