Eliminate duplicates from database

EDN Admin

Well-known member
Joined
Aug 7, 2010
Messages
12,794
Location
In the Machine
Hi.
I have the following code for reading from a file and populating my database. Everything works fine except that all records are inserted twice.
<pre class="prettyprint OleDbCommand c = new OleDbCommand();
c.Connection = GetConnection();
c.CommandText =
"CREATE TABLE patients (patientid AUTOINCREMENT PRIMARY KEY, firstlastname CHAR(50), birthdate CHAR(50), birthplace CHAR(50), gender CHAR(1), bloodtype CHAR(50), telnum CHAR(50), address CHAR(255))";
c.ExecuteNonQuery();

string info = "";
string name = "";
string date = "";
string place = "";
string blood = "";
string num = "";
string address = "";
//Read from file and insert values to patient table
StreamReader myReader = new StreamReader("myPath/patient.txt");
while (true)
{
info = myReader.ReadLine();
if (info == null) break;

if (info.Trim() != String.Empty)
{
string[] words = info.Split(,);
if (words.Length == 6)
{
name = words[0].Trim();
date = words[1].Trim();
place = words[2];
blood = words[3];
num = words[4];
address = words[5];
}
}

string cmdText = "INSERT INTO patients (" +
"firstlastname, birthdate, birthplace, bloodtype, telnum, address) " +
"VALUES (?,?,?,?,?,?)";

using (OleDbConnection cn = GetConnection())
{

using (OleDbCommand cmd = new OleDbCommand(cmdText, cn))
{
cmd.Parameters.AddWithValue("name", name);
cmd.Parameters.AddWithValue("date", date);
cmd.Parameters.AddWithValue("place", place);
cmd.Parameters.AddWithValue("blood", blood);
cmd.Parameters.AddWithValue("num", num);
cmd.Parameters.AddWithValue("address", address);
cmd.ExecuteNonQuery();
}
}


}[/code]
I noticed that the line
<pre class="prettyprint" style="font-size:12px if (info.Trim() != String.Empty)[/code]
returns "false" every other time so records are inserted twice but dont know how to fix this.
How can i eliminate these duplicates?. <br/>

Thanks

View the full article
 
Back
Top