|
I am trying to convert the string to datetime including the milliseconds... unfortunately when I used the Convert.ToDateTime method, it does not return the milliseconds... I have tried the parse and parseExact method in the Datetime and DateTimeOffset classes as well... none of them returning the milliseconds... I read the previous discussion regarding this issue and none of the solutions return the milliseconds...This is what I am trying to do:
string strDate = '2012-11-08 08:42:49.360'
DateTime actualTime = Convert.ToDateTime(strDate);
unfortunately the result is 2012-11-08 8:42:49 AM... the millisecond part is missing... Thanks in advance everyone.
|
|
|
|
|
The milliseconds portion is present - it's just not displayed by default. If you want to see it, you can use the "f" formatter like this:
Console.WriteLine(actualTime.ToString("yyyy-MM-dd hh:mm:ss.fff", CultureInfo.InvariantCulture));
|
|
|
|
|
Millisecond part is always there u can get it from there with
DateTime.TimeOfDay will give u full time with millisecond or
DateTime.Millisecond will return Millisecond.
|
|
|
|
|
Pete, BMS121,
Thank you so much for taking your time to respond to my post... I really appreciate it... but the solution both of you mentioned does not work for my situation... may be I did not state my question clearly... I apologize for that...
Pete, in your solution, you are converting the date to string again... that's not what i want...
And BMS121, I used the 'TimeOfDay' property as you suggested , but I could not assign that to datetime variable... I get compiler error :'Cannot implicitly convert System.TimeSpan to System.Datetime...
This is what I want to accomplish:
I am getting the datetime as a string from client ... so I have to convert that string to datetime including millisecond and then I have to store/save that datetime in the database (the datebase column is datetime type)...
Here is the code snippet:
string strDate = "2012-11-09 07:20:07.410"
Datetime actualDate = Convert.ToDateTime(strDate); -(L2)
L2 : does not return millisecond...
As per BMS121 suggestion, I tried the following :
(my entity object is called EDEntitiy)
Edentity.Timestamp = actualDate.TimeOfDay;
But above statement causes compiler error:
'Cannot implicitly convert System.TimeSpan to System.Datetime...
|
|
|
|
|
You are misunderstanding Pete's solution. Convert.ToDateTime is already giving you the right answer, but the default ToString on a DateTime omits the milliseconds, so it looks like it isn't when you look at the string representation of the DateTime you create. If you format it with milliseconds, you'll see that you got what you expected.
I just tried that very thing:
dt←$Convert:ToDateTime "2012-11-09 07:20:07.410"
09/11/2012 07:20:07
dt:Millisecond
410
dt:ToString "yyyy-MM-dd hh:mm:ss.fff"
2012-11-09 07:20:07.410
|
|
|
|
|
BobJanova,
Thanks. Really appreciate it. My issue is this.
string strDate = "2012-11-09 07:20:07.410"
Datetime actualDate = Convert.ToDateTime(strDate);
Now when I save this date (actualDate) in the database(I am using the Entity Frame work to connect to the database), this is what i see in the database : 2012-11-09 07:20:07.000
As you can see, the millisecond is zero in the database... so my question is how do I save date (after converting from string to datetime) with milliseconds... my datebase date column is SQL datetime type...
Thanks...
|
|
|
|
|
I think this is because SQL's DateTime is rubbish. If you need millisecond level precision you'd be better storing actualDate.Ticks in a 64 bit int.
|
|
|
|
|
<asp:DropDownList ID="DDLSorting" runat="server" AutoPostBack="True" onselectedindexchanged="DDLSorting_SelectedIndexChanged"
>
<asp:ListItem>Best Match</asp:ListItem>
<asp:ListItem>New Arrivals</asp:ListItem>
<asp:ListItem Value="3" Text="Price: Low to High"></asp:ListItem>
<asp:ListItem>Price: High to Low</asp:ListItem>
<asp:ListItem>Highest Discount</asp:ListItem>
</asp:DropDownList>
i have this dropdown
how can i sort values in the datalist control using this dropdown
|
|
|
|
|
|
What about them ?
When I was a coder, we worked on algorithms. Today, we memorize APIs for countless libraries — those libraries have the algorithms - Eric Allman
|
|
|
|
|
Hmmm bacon
oops sorry invasion of a random though!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Seems to be happening a lot in here today
When I was a coder, we worked on algorithms. Today, we memorize APIs for countless libraries — those libraries have the algorithms - Eric Allman
|
|
|
|
|
In a C# 2010 application, I used linq to sql to setup my database connections.
Now when I move the application to a different database, the original database is still being used. Basically the connection string is hard coded into theapplication.
I tried to follow the linq listed below, but everything did not work.
http://goneale.com/2009/03/26/untie-linq-to-sql-connection-string-from-application-settings/
The part that says, "1.Open up the LINQ to SQL designer, and open the Properties tab of the designer (the schema itself),
expand Connection and set Application Settings to False. ", I did not see this option.
The closest thing I found was connection and I set that value.
Here is the way the code looks now in the *designer.cs file.
namespace e_ClScripts
{
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Data;
using System.Collections.Generic;
using System.Reflection;
using System.Linq;
using System.Linq.Expressions;
using System.ComponentModel;
using System;
[global::System.Data.Linq.Mapping.DatabaseAttribute(Name="DEV")]
public partial class eDataContext : System.Data.Linq.DataContext
{
private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
#region Extensibility Method Definitions
partial void OnCreated();
partial void Inserte_Detail(e_Detail instance);
partial void Updatee_Detail(e_Detail instance);
partial void Deletee_Detail(e_Detail instance);
partial void InsertIBook(IBook instance);
partial void UpdateIBook(IBook instance);
partial void DeleteIBook(IBook instance);
partial void InsertIPackage(IPackage instance);
partial void UpdateIPackage(IPackage instance);
partial void DeleteIPackage(IPackage instance);
partial void InsertIError_Tran(instance);
partial void UpdateIError_Tran(IError_Tran instance);
partial void DeleteIError_Tran(IError_Tran instance);
partial void InsertTransaction_Type(Transaction_Type instance);
partial void UpdateTransaction_Type(Transaction_Type instance);
partial void DeleteTransaction_Type(Transaction_Type instance);
partial void Inserte_Tracking(e_Tracking instance);
partial void Updatee_Tracking(e_Tracking instance);
partial void Deletee_Tracking(e_Tracking instance);
#endregion
public eDataContext() :
base(global::e_ClScripts.Properties.Settings.Default.DEVConnectionString, mappingSource)
{
OnCreated();
}
public eDataContext(string connection) :
base(connection, mappingSource)
{
OnCreated();
}
public eDataContext(System.Data.IDbConnection connection) :
base(connection, mappingSource)
{
OnCreated();
}
public eDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
base(connection, mappingSource)
{
OnCreated();
}
public eDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
base(connection, mappingSource)
{
OnCreated();
}
Here is what the app.config file looks like right now:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="e_ClScripts.Properties.Settings.DEVConnectionString"
connectionString="Data Source=instance1\DEV;Initial Catalog=dev3;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
Can you tell me or show me in code how to fix my problem so the application does not
use the hard-coded values that were setup by linq to sql?
|
|
|
|
|
I don't use Linq to SQL but we have different config files for each environment. The UAT config file will have a different connection string pointing to the UAT server, when you compile for deployment you chose the config you want to use and make sure the config file has the correct connection string.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
You are correct that each database has a different connection. However in code, can you show me how to change the connection string and how to change the app.config file to point to the different databases?
The way that linq to sql works is it hard codes the connection string. I want avoid this hardcoded connection string.
|
|
|
|
|
It is not a coding problem take a look at ConfigurationManager[^]
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
sc steinhayse wrote: connectionString="Data Source=instance1\DEV;Initial Catalog=dev3;Integrated Security=True"
Err...That is your connection string. It is in your app.config.
So if you want it to point to a different database then you change that.
If however that is not where your connection string is coming from then it is certainly coming from somewhere so use a text editor to search ALL files you in your source tree for the connection information.
|
|
|
|
|
I need to crate a new class which replicate a class in a given assembly but adding also a new constructor and adding new methods. Is it possible?
|
|
|
|
|
Yes, it's called inheritance and is a cornerstone of OOP.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
If the class is a class (and not a struct) and isn't sealed then you can inherit from it:
public class YourClass : OriginalClass
{
public YourClass(...) : base(...)
{ }
}
If it's a struct or a sealed class then you will need to create a wrapper and replicate all the constructors/properties/methods etc you require:
public WrapperClass
{
private WrappedType value;
public WrapperClass(...)
{
value = new WrappedType(...);
}
public void DoSomething()
{
value.DoSomething();
}
}
|
|
|
|
|
in may case the base class have not a parameterless constructor, while in the derived I need this one.
Is it possible to istantiate the base class in later mathod?
|
|
|
|
|
Not by using inheritance - you would need to use a wrapper as in my second snippet, the base would stay null until instanciated.
|
|
|
|
|
You cannot do it later in a method, but if you know the parameters, you can do it like this:
class BaseClass
{
public BaseClass(int theParam)
{
}
}
class DerivedClass : BaseClass
{
public DerivedClass() : base(4711)
{
}
}
|
|
|
|
|
Hello experts,
First of all I have average experience with .Net programming, so please go easy on me .
I have an windows application project that consists of 10 Forms. At the moment when I compile my app, it generates a single Exe file. Everything works good.
I want to write an update program for my application, and also after reading some best practices on how to build your app i realized I also need a lot of code rewriting in order to make my app look good.
The thing is I am thinking it would be better to split each form into a separate DLL file, this way achieving some form of modular structure and make my app easier to manage and update.
The problem is I don't have enough experience to know whether splitting each Form into a separate DLL is a good idea or a bad idea, so I'm asking you guys to tell me, from your experience, how would you structure such a project and what would the expected files be ?.
Thank you for your time, and I hope I made myself understood.
Andrei
|
|
|
|
|
In general, you won't see any benefit from splitting the forms out into separate DLLs. When you read about modularisation, people tend to be talking about splitting out application logic, rather than the presentation tier. So, you can split out the actual logic, which is fine, but you should leave the forms where they are.
|
|
|
|