verwendetes Datenbanksystem: MS SQL Server 2005
hallo,
bekomme es einfach nicht hin. aber vielleicht kann mir jemand helfen oder eine tipp geben wie ichs hinbekommen könnte.
also: anhand von einem datum z.b. 28.08.2007 muss ich feststellen, ob in dieser woche schon ein datensatz gespeichert wurde wenn nicht dann kann ich reinschreiben sonst nicht.
das ganze muss ich dann analog für den monat abfragen können.
aber wie
das datum bekomme ich aus einer textbox (C# windowsanwendung)
Hi,
ich denke mal damit bist du bedient:
DateTime dt = DateTime.Now; // Dein Datum
int[] lookup = new int[] { 1, 0, -1, -2, -3, -4, -5 };
int daysToAdd = lookup[(int)dt.DayOfWeek];
DateTime startOfWeek = dt.AddDays( daysToAdd ).Date;
DateTime startOfNextWeek = CultureInfo.CurrentCulture.Calendar.AddWeeks( startOfWeek, 1 );
DateTime startOfMonth = new DateTime( dt.Year, dt.Month, 1 );
DateTime startOfNextMonth = CultureInfo.CurrentCulture.Calendar.AddMonths( startOfMonth, 1 );
// Sql Statements
//
// Anzahl der Datensätze in der Woche
// SELECT COUNT(*) FROM ... WHERE [DATE] >= @startOfWeek AND [DATE] < @startOfNextWeek
//
// Anzahl der Datensätze in dem Monat
// SELECT COUNT(*) FROM ... WHERE [DATE] >= @startOfMonth AND [DATE] < @startOfNextMonth
Hi,
oder nur per SQL :
select * from tabelle
where datepart("wk", {d'2007-08-28'}) = datepart("wk",[deinDatum])
siehe : http://msdn2.microsoft.com/de-de/library/ms173998.aspx
Gruss
macmark
danke für die hilfestellung,
werde mir beide lösungsvorschläge ausprobieren - bin mal gespannt ob ich's damit lösen kann. hänge da nämlich schon ne ganze weile dran.
gruss
cware