21 messaggi dal 30 maggio 2007
ho una tabella sql da cui prendo un record in formato DateTime,di questo valore vorrei memorizzare solo l'orario escludendo la data, e incrementarlo sequenzialmente con dei valori presi da un'altra tabella indicanti la durata del filmato (es. 00:30 , 01:30 ecc..) si può fare e se si come potrei procedere?
Grazie a tutti
61 messaggi dal 29 ottobre 2006
Contributi
Ciao,

dai uno sguardo ai metodi della structure DateTime:

http://msdn2.microsoft.com/en-us/library/system.datetime_methods(vs.71).aspx

Ad esempio, i vari metodi AddXXX o SubtractXXX permettono di modificare il tempo memorizzato. La proprietà TimeOfDay restituisce un TimeSpan con l'orario memorizzato.

Alessandro Gallo | ASP.NET AJAX Weblog | ASP.NET AJAX In Action
5 messaggi dal 28 maggio 2001
se il valore restituito al quale devi sommare dei tempi è un DateTime puoi innanzitutto sommarglieli tramite il metodo AddMinutes() e AddSeconds().
Es:
DateTime _date=_valoreDateTimeDB;
date.AddMinutes(double _minutes);
date.AddSeconds(double _seconds);

Ovviamente dovrai manipolare la stringa per settare i minuti (_minutes) e i secondi (_seconds) da poi sommare.

In seguito prima di mettere il valore nel DB prendi solo l'orario completo con:

_date.ToShortTimeString();


Spero di averti dato una mano,good luck!
21 messaggi dal 30 maggio 2007
grazie avalerio mi sei stato di enorme aiuto (sono proprio agli inizi), con il tuo consiglio mi funziona egregiamente, riporto il codice qua sotto (non sarà "bello" ma funziona), se notate qualcosa di anomalo o da evitare..

FileStream file = new FileStream("C:\\wmpub\\WMRoot\\testfileplay2.wsx", FileMode.Create, FileAccess.ReadWrite);
StreamWriter sw2 = new StreamWriter(file);
string queryString = "SELECT Filepath,Durata FROM risorse,programmazione WHERE Programmazione.PalinsestoID="+Session["ID"]+"AND Programmazione.ProgrammaID=Risorse.ProgrammaID";
string queryString = "SELECT Filepath,Durata FROM risorse,programmazione WHERE Programmazione.PalinsestoID="+Session["ID"]+"AND Programmazione.ProgrammaID=Risorse.ProgrammaID";
string queryString1 = "SELECT Dataora_inizio FROM Palinsesti WHERE Palinsesti.PalinsestoID=" + Session["ID"];
SqlCommand command = new SqlCommand(queryString, connection);
SqlCommand command1 = new SqlCommand(queryString1, connection);
connection.Open();
SqlDataReader reader1 = command1.ExecuteReader();
reader1.Read();
DateTime inizio = DateTime.Parse(string.Format("{0}", reader1[0]));
reader1.Close();
SqlDataReader reader = command.ExecuteReader();

sw2.Write("<?wsx version=\"1.0\"?>\r\n");
sw2.Write("<smil>\r\n");
while (reader.Read())
{
sw2.Write("<media src=\" ");
sw2.Write(String.Format("{0}", reader[0]));
sw2.Write("\" noSkip=\"true\"");
string date = (string.Format("{0}", reader[1]));
string datehours = date.Substring(0, 2);
string dateminutes = date.Substring(3, 2);
string dateseconds = date.Substring(6, 2);
double hours = Convert.ToDouble(datehours);
double minutes = Convert.ToDouble(dateminutes);
double seconds = Convert.ToDouble(dateseconds);
inizio = inizio.AddHours(hours);
inizio = inizio.AddMinutes(minutes);
inizio = inizio.AddSeconds(seconds);
sw2.Write("begin=\"wallclock(");
sw2.Write("{0}", inizio.ToLongTimeString());
sw2.Write(")\"/>\r\n");
}
reader.Close();
connection.Close();
sw2.Write("</smil>\r\n");
sw2.Flush();
sw2.Close();

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.