Vad jag försöker att göra är att kolla om det redan finns en tidsrapport på en person i en given månad. Ser ut som du lägger in parametrar enligt MySql-standard med frågetecken. Hej Andr'eProblem med sql
När jag kör denna som fråga i Access så fungerar det, men inte på asp.net c#.
<code>
personId = Convert.ToInt32(DropDownList1.SelectedValue);
sDatum = DropDownList2.SelectedItem.ToString();
sql = "
SELECT
t_tidsRapport.personId,
Format([datum],'mmmm') AS Manad
FROM
t_tidsrapportPerson
INNER JOIN
t_tidsRapport
ON
t_tidsrapportPerson.rappPersonId = t_tidsRapport.rappPersonId
WHERE
t_tidsRapport.personId=?
AND
Format([datum],'mmmm')=?";
OleDbCommand cmd = new OleDbCommand(sql, DBConn);
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("personId", OleDbType.Integer).Value = personId;
cmd.Parameters.Add("Manad", OleDbType.VarWChar, 50).Value = sDatum;
DBConn.Open();
int i = Convert.ToInt32(cmd.ExecuteScalar());
if (i == 0)
{
//finns inte
}
{
//finns
}
</code>
Jag har rensat bort så mycket jag kan för att detta skall bli så tydligt som möjligt.
Är det helt fel att skriva så här eller hur bör jag göra?Sv: Problem med sql
Testa att ange dem enligt:
<code>
string SQL = "SELECT * FROM Table WHERE name=@name AND age=@age;";
...
com.Parameters.AddWithValue("name", "André");
com.Parameters.AddWithValue("age", 20);
</code>Sv:Problem med sql
Nej jag använder mig av Access och enligt standard så bör man ju använda sig av "?".
Jag misstänker dok att mit problem hade med min formatering av månaden, och jag har byggt om det
nu så att jag tar fram månaden via int manad = DateTime.Now.Month;.
Nu verkar det att fungera.