I use mssql db, i want to load a table into an array, i only need some of the columns, not all. Do i need couple of one dimensional arrays to hold these columns' data or a multidimensional array to hold em?To make myself more clear, i have a table QUESTIONS that contains columns: QID, QDETAILS, QMARKS, QDEFAULTANSWER. I also have a table ANSWERS that contains columns: AID, QID(fk), RID(fk), ACTUALANSWER, MARKSGAINED. I want to load the data in table QUESTIONS into array(s), and when user inputs actual answer and clicks on submit button, i put the actual answer into table ANSWERS, and check answers with the data in column QDEFAULTANSWER in table QUESTIONS. If the answer is correct, gives full marks into COLUMN MARKSGAINED into table ANSWERS. at the end, when user clicks on "mark the whole test", i want to create a new record that contains history of this particular test, i.e. in table RECORD that contains columns: RID, QID, TOTALMARKS, DATE,TIME. There is another way to do it without array, is to communicate to db all time, i.e. to update all the tables once a question is answered and use sqlcommand to compare the answer, give or not give marks. etc. I think this is a silly way because it's better to only talk to db at begining and end of the test. one of the bad things might be: if the app fails during the test, user lose all the answers already done and can be frustrating.I need to experienced suggestions on which way to choose, can any help plz? if array is a better way, plz be more specific in coding, especially in loading the data into array and updating data into db. Otherwise i think i might be able to work out how to do without array myself