Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 234
  • Last Modified:

Help with c# project

this is what i have to do:

Write a C# Windows Forms application that is capable of reading in a CSV file
and writing the records to an Access table.

 

The Comma Separated Value file will be a predefined format (see below).
You will need to create an MS Access database containing a table called Customers
with the following record schema:

 

CustNum           integer

LastName         Text (25)

FirstName         Text (20)

Address            Text (30)

City                  Text (20)

Postal               Text (10)

 

Test your program using the following input data:

 

"CustNum","LastName","FirstName","Address","City","Postal"

"0001","Smith","Billy-Bob","123 Small St.","London","N7R 2X6"

"0002","Jones","Mary-Lou","456 Big St.","London","N7H 5B7"

"0003","Peterson","Mike","789 Medium Ave.","Waterloo","N8H 1C6"

 

Your window must contain only 2 buttons (Load CSV and Cancel) and a
text box (defining the CSV input file name). Your input file name should
default to the name Customers.txt (included with the project zip file) and your
output database should be called Customers.mdb.

 

Important:

 

You must use 100% C# code to connect to the Access database and insert the records.

Use StreamReader to input the CSV records and parse out each field in each row using
suitable string processing techniques.

this is what i have:(the one i have is backwareds to the description up there i need to know how i can go the other way like in the description)

private void output_Click(object sender, System.EventArgs e)
            {
                  OleDbDataAdapter da;
                  DataSet ds = null;
                  string connS = @"Provider=Microsoft.JET.OLEDB.4.0;data source=ppp2.mdb";
                  
                  ds = new DataSet();
                  OleDbConnection connection = new OleDbConnection(connS);
                  string sqlString = "SELECT * FROM PARTS";
                  da =new OleDbDataAdapter(sqlString,connection);

                  try
                  {
                        da.Fill(ds,"parts");

                  }
                  catch(Exception ex)
                  {
                        MessageBox.Show("Problem with DB access-\n\n" + ex.ToString());
                        return;
                  }

                  int[] F1 = new int[ds.Tables["Parts"].Rows.Count];
                  string[] F2 = new string[ds.Tables["Parts"].Rows.Count];
                  string[] F3 = new string[ds.Tables["Parts"].Rows.Count];
                  int[] F4 = new int[ds.Tables["Parts"].Rows.Count];

                  for(int i=0;i<ds.Tables["Parts"].Rows.Count;i++)
                  {
                        F1[i]=(int)ds.Tables["Parts"].Rows[i]["PartNumber"];
                        F2[i]=(string) ds.Tables["Parts"].Rows[i]["Description"];
                        F3[i]= (string) ds.Tables["Parts"].Rows[i]["Location"];
                        F4[i]=(int)ds.Tables["Parts"].Rows[i]["QOH"];
                  }
                  FileStream fs = new FileStream("Parts.txt",FileMode.Create);
                  StreamWriter sr = new StreamWriter(fs);
 
                  for(int i=0;i<ds.Tables["Parts"].Rows.Count;i++)
                  {
                        sr.WriteLine(F1[i]+","+F2[i]+","+F3[i]+","+F4[i]);
                  }
                  connection.Close();
                  sr.Close();
                        
            }
0
roman100
Asked:
roman100
1 Solution
 
smeggheadCommented:
Homework ??
0
 
roman100Author Commented:
ya its part of a big assignment
0
 
gregasmCommented:
Im not going to do your homework for you! hahaah
But this the framework I would use.

//Create some constants that use use an index to keep track of the column name.

private const int CustNum = 0;
private const int LastName = 1;

//Then open the FileStream
System.IO.FileStream fs = new System.IO.FileStream("csv.text");
System.IO.TextReader tr= new System.IO.TextReader(fs);

//load the current line from the file into an array
string line;
While ((line = tr.ReadLine()) != null)
{
     string[] newRow = line.Split(",");
     //and then add the array values to your dataTable based on the
     //constants (indexes) declared above..
     DataRow dr = myTable.NewRow();
    dr[CustNum] = newRow[custNum];
    dr[LastName] = newRow[LastName];
    .....
     //add the row to the datatable.
     myTable.Rows.Add(dr);
}

  Hope this helps.
0

Featured Post

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now