Solved

Help with c# project

Posted on 2003-12-03
5
228 Views
Last Modified: 2010-04-16
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
Comment
Question by:roman100
5 Comments
 
LVL 10

Expert Comment

by:smegghead
ID: 9871497
Homework ??
0
 

Author Comment

by:roman100
ID: 9872170
ya its part of a big assignment
0
 
LVL 8

Accepted Solution

by:
gregasm earned 100 total points
ID: 10464936
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

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
What namespace do I need to import? 2 38
Hey!! 5 37
Unable to connect C# program to an SQL database - Exception occurs. 4 47
Why use this lambda? 12 35
Article by: Najam
Having new technologies does not mean they will completely replace old components.  Recently I had to create WCF that will be called by VB6 component.  Here I will describe what steps one should follow while doing so, please feel free to post any qu…
Summary: Persistence is the capability of an application to store the state of objects and recover it when necessary. This article compares the two common types of serialization in aspects of data access, readability, and runtime cost. A ready-to…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question