Jag måste tyvärr fråga igen. Vet inte var du anger denna kod, men du gör inte om datumen till string i din sträng. Hej David. Nu har jag kommit så här långt: Som varning säger: Byt till AddWithValue istället. Det andra felet kan du ta sedan, tror nämligen att det ev. kan vara fel datatyp i databasen eller liknande Oskar. Kan du visa koden du använder nu, felmeddelandet, tabellens design i databasen samt sql-satsen du använder?SQL problem
Jag har denna SQL:
<code>
SELECT TOP 10 Namn, Ratt, Tid, Datum FROM Listan WHERE datum BETWEEN #" & Date()+1 & "# AND #"
& Date()-30 & "# ORDER BY Listan.Ratt DESC, Len(Listan.Tid), Listan.Tid ASC , Listan.Datum DESC,Listan.Namn
</code>
..jag försöker att lägga in den i querybuilder, men jag får error.
<info>
datum BETWEEN #" & Date()+1 & "# AND #"
& Date()-30 & "#
</info>
Hur skriver jag det så att ASP.net godkänner det?
[REDIGERAT]
Jag försöker nu såhär:
<code>
SelectCommand="SELECT TOP 5 Namn, Ratt, Tid, Datum FROM Listan WHERE datum BETWEEN #" + DateTime.Now.AddDays(+1) + "# AND #" + DateTime.Now.AddDays(-30) + "# ORDER BY Listan.Ratt DESC, Len(Listan.Tid), Listan.Tid ASC , Listan.Datum DESC,Listan.Namn;"
</code>
och får följande fel:
<info>
Warning 1 Validation (ASP.Net): Attribute 'DateTime.Now.AddDays' is not a valid attribute of element 'AccessDataSource'. C:\Inetpub\wwwroot\ASP_Net-Test\Saw-Asp.net\Quize\Quize.aspx 170 109 C:\...\Saw-Asp.net
Error 2 Cannot switch views: Validation (ASP.Net): Attribute 'DateTime.Now.AddDays' can be specified only once in a tag. C:\Inetpub\wwwroot\ASP_Net-Test\Saw-Asp.net\Quize\Quize.aspx 170 148 C:\...\Saw-Asp.net
</info>
Jag kan tydligen inte göra så här?Sv: SQL problem
Annars är det bättre att du kastar in dina datum i SqlParametrar så att datumen alltid hanteras som input och aldrig som ett SQL kommando i själva sql satsen.
Typ:
SelectCommand = "SELECT TOP 5 Namn, Ratt, Tid, 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;
SqlCmd.Parameters.Add("@StartDate", SqlDbType.DateTime).Value = DateTime.Now.AddDays(+1);
SqlCmd.Parameters.Add("@EndDate", SqlDbType.DateTime).Value = DateTime.Now.AddDays(-30);
Mvh David
Sv:SQL problem
Tack men jag glömde bort att skriva, databasen är Access, och då fungerar väll inte ditt förslag???Sv: SQL problem
<code>
sql = "SELECT TOP 5 Namn, Ratt, Tid, 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();
</code>
Error:
<info>
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). http://go.microsoft.com/fwlink/?linkid=14202 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
Det gick inte att konvertera parametervärdet från en DateTime till en TimeSpan..
</info>
Var kan felet vara?Sv:SQL problem
Sv: SQL problem
Jag fick bort det första felet, som du nämde.
Datatypen stämmer därimot (Datum/tid).
Men i errot jag får, så står det ju typblandningsfel numera...Sv:SQL problem