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.
4 svar · 326 visningar · startad av saw
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?
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.
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.
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???
Du ska nog använda antingen OleDbType.DBTimeStamp eller OleDbType.DBDate