sql >> Database teknologi >  >> RDS >> Sqlserver

Vælg fra SQL Server-database med specifikt område ved hjælp af tekstboks

Brug ikke strengsammenkædning til at bygge dine sql-forespørgsler, ALDRIG!

Du er åben for sql-injektion, der er ingen undskyldning for det. Brug i stedet sql-parametre:

Dim dateFrom as Date
Dim dateTo as Date
Dim validFromDate = Date.TryParse(Txtfromyear_reprt.Text.Trim(), dateFrom)
Dim validToDate = Date.TryParse(Txttoyear_reprt.Text.Trim(), dateTo)

Afslut nu denne metode med en meningsfuld besked, hvis brugeren ikke har angivet gyldige datoer. Du kan kontrollere validFromDate og validToDate som er booleanere. Resten af ​​koden udføres If validFromDate AndAlso validToDate :

Dim str As String = "select * from MYTABLE where Year >= @fromyear and Year <= @toyear"
da = New SqlDataAdapter(str, conn)
da.SelectCommand.Parameters.Add("@fromyear", SqlDbType.DateTime).Value = dateFrom 
da.SelectCommand.Parameters.Add("@toyear", SqlDbType.DateTime).Value = dateTo
' now you can use da.Fill(ds, "MYTABLE") safely

Jeg har lige set dig bruge varchar for at gemme datetimes . Hvorfor? Ret det i databasen.




  1. Hvordan gør man, at en udvidelse ikke kan flyttes?

  2. readyStatement SQL-fejl

  3. Sådan listes alle databaser med ActiveRecord

  4. Hvor mange kolonner kan du have (maksimalt) i en MySQL-tabel?