sawMedlem sedan mars 20011 880 inlägg Jag har fått problem med detta script:
sql = "SELECT TOP 5 Namn, Ratt, NyTid, Datum FROM Listan WHERE datum
BETWEEN @StartDate AND @EndDate ORDER BY Listan.Ratt DESC, Len
(Listan.Tid), Listan.Tid ASC , Listan.Datum DESC,Listan.Namn; ";
OleDbCommand Cmd = new OleDbCommand(sql, DBConn);
Cmd.Parameters.Add("@StartDate", OleDbType.DBTime).Value =
DateTime.Now.AddDays(+1);
Cmd.Parameters.Add("@EndDate", OleDbType.DBTime).Value =
DateTime.Now.AddDays(-30);
DBConn.Open();
Repeater1.DataSource = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
Repeater1.DataBind();
Error:
Warning 1 System.Data.OleDb.OleDbParameterCollection.Add(string,
object) är föråldrad: Add(String parameterName, Object value) has been
deprecated. Use AddWithValue(String parameterName, Object value). [url]
http://go.microsoft.com/fwlink/?linkid=14202[/url]
C:\Inetpub\wwwroot\ASP_Net-Test\Saw-Asp.net\Quize\Quize.aspx.cs
43 9 C:\...\Saw-Asp.net
'Jag får två sådanahär error samt
Typblandningsfel i villkorsuttryck...
Någon som kan se felet?
natasMedlem sedan juli 200568 inlägg Du använder .NET2.0 men försöker skriva kod för .NET1.1?.
jag har för mig att "Add("@StartDate", OleDbType.DBTime).Value " är borttaget ur .NET2.0 och ersatt av nåt jag inte kommer ihåg just nu.
emissionMedlem sedan dec. 19996 721 inlägg Psst, saw, det heter inte script.... :)
Vad beträffar varningen så rekommenderar jag att du läser vad som står i felmeddelandet.
Om det är en Access-databas så bör du inte kalla kolumen för "Datum" och parametrarna ska anges med frågetecken.
"SELECT TOP 5 Namn, Ratt, NyTid, Datum FROM Listan WHERE datum
BETWEEN ? AND ? ORDER BY Listan.Ratt DESC, Len(Listan.Tid), Listan.Tid ASC , Listan.Datum DESC,Listan.Namn; "
Om det är en SQL Server-databas så ska du använda SqlCommand och inte OleDbCommand.
sawMedlem sedan mars 20011 880 inlägg Det rör sig om en Access-databas. Tydligen så gjorde jag en miss när det gällde att namna Datum, men det får jag ju titta på.
Hursomhelst, så har jag ändrat till frågetecken, men jag får likväl typblandningsfel.
Datatypen i databasen är datum/tid.
Jag har tittat och letat runt överallt, men jag blir inte klok på felet. Jag har en
fungerande SQL (utan parameter), men jag fick rekommendation att köra parameter
istället. Skall jag ge upp???
emissionMedlem sedan dec. 19996 721 inlägg Du ska nog använda antingen OleDbType.DBTimeStamp eller OleDbType.DBDate