04. februar 2006 - 15:43Der er
13 kommentarer og 1 løsning
Dato søgning ?
Hejsa,
Jeg skal have fundet ud af hvorledes jeg kan lave en søgning i en database på en dato. Det jeg vil er at jeg skal have fundet ud om der ligger en dato udfra dag og måned.
Forstået på den måde at jeg har følgende dato i databasen :
01-01-2006 12:12:12
Jeg skal så lave en søgning i databasen efter om der ligger en dato hvor dag og måned kunne være 01-01 uden år, timer, minutter og sekunder.
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Public Function GetDay(ByVal TheDate As DateTime) As Boolean Implements iStatistikData.GetDay Dim objConn As SqlConnection = objDb.SqlConnect Dim objComm As New SqlCommand("Select TheDate From tbl_count_day1 Where Day(TheDate) = Day(@TheDate) And Month(TheDate) = Month(@TheDate)", objConn) objComm.Parameters.Add("@TheDate", SqlDbType.NVarChar) objComm.Parameters("@TheDate").Value = TheDate Dim Rs As SqlDataReader = objComm.ExecuteReader Dim boolReturn As Boolean Do While Rs.Read If Not (Rs("TheDate") Is DBNull.Value) Then boolReturn = True Else boolReturn = False End If Loop Rs.Close() objDb.SqlClose() Return boolReturn End Function
den er så grundlag for hvorvidt jeg tilføjer en nu record eller opdatere en eksisterende men uanset hvad så laver den en ny record, misser jeg noget her ?
prøv at udskrive Rs("TheDate") og se hvad du får evt. med System.Dianogstics.Debug.WriteLine. I hvilket tilfælde opretter den en record ? Er det når boolReturn er false ?
Der havde jeg lige skrevet forkert den skal selvfølgelig oprette en record når return = true :
If (Rs("TheDate") Is DBNull.Value) Then boolReturn = True Else boolReturn = False End If
i min buisness del laver jeg så følgende :
Dim boolReturn As Boolean boolReturn = objData.GetDay(_Date)
If boolReturn Then objData.AddDay(_Date) Else Dim arrHits As ArrayList arrHits = objData.GetDayHits(_Date) Dim intId As Integer = arrHits.Item(0) Dim intHits As Integer = arrHits.Item(1) intHits = intHits + 1 Dim strError As Boolean strError = objData.EditDay(intId, intHits) End If
men jeg får denne med fejl :
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
i denne linie :
Dim intId As Integer = arrHits.Item(0)
og det virker sq underligt for den skal jo ikke gå i opdatering når jeg f.eks ikke har nogle records i databasen
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.