Click here to Skip to main content
15,905,508 members

Comments by tnewt (Top 8 by date)

tnewt 18-Jan-16 11:38am View    
Got it!
cmd.Parameters.AddWithValue("@IFIELD4", String.Format("{0:MM/dd/yyyy}", dataTable.Rows[i][4]));

You rock PIEBALDconsult! Thank you!
you made me do it and i learned alot from it.
Cleaning up the code and i will post it later today.
tnewt 18-Jan-16 10:28am View    
the csv file value is "06/08/1994"
string test1 = dataTable.Rows[i].ItemArray.GetValue(4).ToString();
string test2 = String.Format("{0:MM/dd/yyyy}", dataTable.Rows[i].ItemArray.GetValue(4).ToString());

returns "6/8/1994 12:00:00 AM" before sending the value to the mdb file
tnewt 18-Jan-16 9:46am View    
Yes it is working. i had to move some of the code within the for each row loop because it was only updating the first line. I will post the finished code when it is complete. I have one last issue if you can guide me.

cmd.Parameters.AddWithValue("@IFIELD7", dataTable.Rows[i][7]);
cmd.Parameters.AddWithValue("@IFIELD7", dataTable.Rows[i].ItemArray.GetValue(7));
both return the value(in the mdb)in the format of "1994-06-08 00:00:00"

cmd.Parameters.AddWithValue("@IFIELD7", dataTable.Rows[i].ItemArray.GetValue(7).ToString());
returns the format "6/8/1994 12:00:00 AM"

the value in the csv file and the desired value in the mdb should be "06/08/1994"
the field format in the mdb file is set to date mm/dd/yyyy only.

is there a way to achive the correct format?
tnewt 17-Jan-16 22:11pm View    
yes IDNUM is an int.
I tried all of the below and did not get an error but it also did not update the mdb file.

cmd.Parameters.AddWithValue("@IFIELD7", dataTable.Rows[i][7]);
cmd.Parameters.AddWithValue("@IDNUM", dataTable.Rows[i][0]);

cmd.Parameters.AddWithValue("@IFIELD7", dataTable.Rows[i].ItemArray.GetValue(7));
cmd.Parameters.AddWithValue("@IDNUM", dataTable.Rows[i].ItemArray.GetValue(0));

cmd.Parameters.AddWithValue("@IFIELD7", dataTable.Rows[i].ItemArray.GetValue(7).ToString());
cmd.Parameters.AddWithValue("@IDNUM", dataTable.Rows[i].ItemArray.GetValue(0).ToString());

and I checked I am getting the correct values with dataTable.Rows[i].ItemArray.GetValue(0).ToString()

learning a lot... thanks so much for your help
tnewt 17-Jan-16 21:29pm View    
Got this far but now I get a 'System.InvalidCastException'
do I need to match the type I am reading or the type in the mdb file?

cmd.CommandText = "UPDATE INDEXDB1 SET IFIELD1= @IFIELD1, IFIELD2 = @IFIELD2, IFIELD3 = @IFIELD3, IFIELD4= @IFIELD4, IFIELD5 = @IFIELD5, IFIELD6 = @IFIELD6, IFIELD7 = @IFIELD7 WHERE IDNUM= @IDNUM";

cmd.Parameters.Add(new SqlParameter("@IDNUM", CommandType.Text).Value = dataTable.Rows[i].ItemArray.GetValue(0).ToString());
cmd.Parameters.Add(new SqlParameter("@IFIELD1", CommandType.Text).Value = dataTable.Rows[i].ItemArray.GetValue(1).ToString());
cmd.Parameters.Add(new SqlParameter("@IFIELD2", SqlDbType.VarChar).Value = dataTable.Rows[i].ItemArray.GetValue(2).ToString());
cmd.Parameters.Add(new SqlParameter("@IFIELD3", SqlDbType.VarChar).Value = dataTable.Rows[i].ItemArray.GetValue(3).ToString());
cmd.Parameters.Add(new SqlParameter("@IFIELD4", SqlDbType.VarChar).Value = dataTable.Rows[i].ItemArray.GetValue(4).ToString());
cmd.Parameters.Add(new SqlParameter("@IFIELD5", SqlDbType.VarChar).Value = dataTable.Rows[i].ItemArray.GetValue(5).ToString());
cmd.Parameters.Add(new SqlParameter("@IFIELD6", SqlDbType.VarChar).Value = dataTable.Rows[i].ItemArray.GetValue(6).ToString());
cmd.Parameters.Add(new SqlParameter("@IFIELD7", SqlDbType.VarChar).Value = dataTable.Rows[i].ItemArray.GetValue(7).ToString());