När jag kör funktionen här nedan så får jag felet "No value given for one or more required parameters." ska det inte vara <b>this.command.CommandText="SELECT Svar" + val + " FROM stats WHERE fid = ?"; Skriv ut värdet på val direkt när du kommer in i funktionen. Tocker, För att vara strikt:fel på sgl sattsen :/
Även fast jag tycker att det är väldigt rätt ?
någon som har något tips på vad det kan vara för fel ?
<code>
private int get_stats(int fid, int val)
{
this.ConnectDb();
this.command.CommandText="SELECT Svar" + val + " FROM stats WHERE fid = ?";
this.command.Parameters.Add("id", OleDbType.VarChar, 10).Value = fid;
this.getreader();
while(Reader.Read())
{
this.nummer = Reader.GetInt32(0);
}
this.closeAll();
return nummer;
}
</code>Sv: fel på sgl sattsen :/
this.command.Parameters.Add("fid", OleDbType.VarChar, 10).Value = fid;Sv: fel på sgl sattsen :/
this.command.Parameters.Add("id", OleDbType.VarChar, 10).Value = fid;</b>
Hade det inte varit lättare med:
<code>
this.command.CommandText="SELECT Svar" + val + " FROM stats WHERE fid = '" + fid + "'"";
</code>
Du har ju inte någon parameter i sqlsatsen som heter "id"...Sv: fel på sgl sattsen :/
Felmeddelandet brukar bero på att du stavat fel på ett kolumnnamn. Eftersom du kör ett dynamiskt kolumnnam, "svar"+val, så betyder det förmodligen att du inte har någon kolumn som heter så.
I övrigt så tycker jag att det är en dåligt designad lösning. Svaren borde ligga som separata rader i en tabell, inte i olika kolumner. Då hade du aldrig fått det här problemet.Sv: fel på sgl sattsen :/
this.command.CommandText="SELECT Svar" + val + " FROM stats WHERE fid = @id";
this.command.Parameters.Add("@id", OleDbType.VarChar, 10).Value = fid;
Sv: fel på sgl sattsen :/
<CODE>
this.command.Parameters.Add("@id", OleDbType.VarChar, 10).Value = fid.ToString();
</CODE>