Hi .....
How can i add milliseconds to datatable?
i am adding like this.
dataSet1.Tables["T_Log"].Columns.Add(new DataColumn(_customer.GetColumnName(colCount), typeof(System.DateTime)));
regards
laby
Printable View
Hi .....
How can i add milliseconds to datatable?
i am adding like this.
dataSet1.Tables["T_Log"].Columns.Add(new DataColumn(_customer.GetColumnName(colCount), typeof(System.DateTime)));
regards
laby
Is this what you are looking for ?
Code:dataSet1.Tables["T_Log"].Columns.Add(new DataColumn(_customer.GetColumnName(colCount), typeof(System.DateTime.Now.Millisecond.ToString())));
hi
thanks for the reply
No.my data is "10:03:45.74 ".while adding to datatable millisecond is missing.how can i add milliseconds to datatable.
regards
laby
You cant do it with a datetime field in the DB. You would have to use either a double or a string.
http://msdn2.microsoft.com/en-us/library/ms187819.aspxQuote:
Values with the datetime data type are stored internally by the SQL Server 2005 Database Engine as two 4-byte integers. The first 4 bytes store the number of days before or after the base date: January 1, 1900. The base date is the system reference date. The other 4 bytes store the time of day represented as the number of 1/300-second units after midnight.
thanks
so if i am using datatype as datetime,i am not able to add milliseconds to
datatable .Is there any other solution for this
regards
laby
I already gave you the two most common solutions...
Quote:
You would have to use either a double or a string.
now i am adding datatype as string to datatable for time field.but in my application vr providing Search based on time.how can i search for time,when i use (<,>,<=,>=)
regards
laby
If that is what you want to do, then you would be better using a numberical type. Store the data using a integer with enough bits to hold the number of milliseconds since some starting time. If you are using SQLServer2005 or later, you could also create a new type using C#.....Quote:
Originally Posted by laby
thanks for the reply
But i am reading Data from a log file to datatable.For searching i am using dataview.RowFilter method
regards
laby
You're asking the wrong question. If you're saving a DateTime value to a database then it already "contains" milliseconds, as every DateTime value does. If you aren't seeing the milliseconds then that's because you aren't displaying the value properly, not because it doesn't contain the right data. Try this:So you see, all the information is there and, if you want to see it, you simply have to show it properly.Code:DateTime now = DateTime.Now;
MessageBox.Show(now.ToShortDateString());
MessageBox.Show(now.ToShortTimeString());
MessageBox.Show(now.ToLongTimeString());
MessageBox.Show(now.ToString());
MessageBox.Show(now.ToString("d/MM/yyyy h:mm:ss tt"));
MessageBox.Show(now.ToString("d/MM/yyyy HH:mm:ss.fff"));
MessageBox.Show(now.ToString("d/MM/yyyy HH:mm:ss.fffffff"));
The actual data is (10:07:32.76).i tried the way u told but the value from datatable contains only
10:07:32
thanks & regards
laby
If your original data contains partial seconds and the data in the Datatable doesn't then you're obviously reading the data incorrectly. As you are yet to show us how you are reading the data it simply isn't possible for us to determine what you're doing wrong.
i am adding like this.
dataSet1.Tables["T_Log"].Columns.Add(new DataColumn(_customer.GetColumnName(colCount), typeof(System.DateTime)));
regards
laby
That's adding the DataColumn to the DataTable. We don't care about that. We want to know how you're reading the data and adding it to a DataRow that is then added to the DataTable.Quote:
Originally Posted by laby
I am adding data from logfile to DATATABLE.The code is given below
dataSet1.Tables["T_Log"].Rows.Add(colData);
then dispalying using datagridview
dataGridView.Datasource=T_Log;.but here milliseconds is missing
regards
laby
That still tells us nothing useful. Where are you getting the value from in the first place, how are you reading it and how are you adding it to the DataRow?
jmcilhinney,Quote:
Originally Posted by jmcilhinney
DateTime in SQLServer does NOT contain milliseconds. The resolution is 3.333333mS not 1mS!!!
As I postd very early in the thread, from the MSDN documentation.
Therefore is it IMPOSSIBLE to store times with 1mS resolution in a DateTime field in SQLServer. You MUST use some other data type.Quote:
Values with the datetime data type are stored internally by the SQL Server 2005 Database Engine as two 4-byte integers. The first 4 bytes store the number of days before or after the base date: January 1, 1900. The base date is the system reference date. The other 4 bytes store the time of day represented as the number of 1/300-second units after midnight.
I want to use search Conditions like(<,>,<=,>=) for TimeColumn.Currently my datatype is string .how can i do that
regards
laby
I already told you, with a string field it will be very difficult and very low performance. If you are going to do calculations or comparisions, use a numberic field type with sufficient range to handle your information.Quote:
Originally Posted by laby
The OP keeps telling us that the original data only goes to two decimal places, so the greatest resolution needed will be 10 ms!!! Thus 3.333333 ms will be ample!!! The problem here is that the OP is dropping the partial seconds altogether somewhere between the original data and the database. Given that, despite my repeated attempts, the OP still refuses to provide that information I can only conclude they don't actually want any help and don't deserve it. I won't be wasting any more time on this one.Quote:
Originally Posted by TheCPUWizard
The (all too common) issue of the OP not providing the necessary information to be of assistance, does NOT mean that one should post known WRONG information in the forums. Or if the error was not known at the time of the posting, that it should not go back and be corrected.Quote:
Originally Posted by jmcilhinney
These threads are read for years after they have been created. Often by tens of thousands of people.
Your post of
is NOT correct.Quote:
If you're saving a DateTime value to a database then it already "contains" milliseconds, as every DateTime value does.