Jag har fått ett felmedelande som jag inte vet hur jag skall hantera:
[kod]
Det gick inte att avgöra Object-värdet. Orsaken kan till exempel vara att raden precis skapades, standardvärdet för Object-kolumnen var inte tillgängligt och konsumenten hade inte angett något nytt Object-värde.
[/kod]
Min kod ser ut så här:
[kod]
private void readForum()
{
try
{
iId = Convert.ToInt32(Request.QueryString["Id"]);
sql="
SELECT
t_Forum.id,
t_Forum.nick,
t_medlem.profilBild,
t_medlem.epost,
t_Forum.rubrik,
t_Forum.katId,"+
" t_Forum.orginal,
t_Forum.svarPa,
t_Forum.datum,
t_Forum.senast,
t_Forum.icon,
t_Forum.inlagg "+
" FROM
t_medlem
INNER JOIN (
t_Forum
INNER JOIN
t_Forum_Kategori
ON
t_Forum.katId = t_Forum_Kategori.id) "+
" ON
t_medlem.nick = t_Forum.nick
WHERE
t_Forum.id=?
OR
t_Forum.katId=?
AND
t_Forum.svarPa=" + iId +"
ORDER BY
t_Forum.id,
t_Forum.datum";
OleDbCommand Cmd = new OleDbCommand(sql, DBConn);
Cmd.Parameters.Add("id", OleDbType.Integer).Value = iId;
Cmd.Parameters.Add("katId", OleDbType.Integer).Value = ikatId;
DBConn.Open();
Repeater1.DataSource = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
Repeater1.DataBind();
DBConn.Close();
sql = "UPDATE t_Forum set hits = hits +1 WHERE ID =" + iId;
Cmd = new OleDbCommand(sql, DBConn);
DBConn.Open();
Cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
finally
{
DBConn.Close();
}
}
[/kod]
Om ni undrar varför jag använder =" + iId +" så var det därför att jag
inte lyckades att använda parameter till det.
Har ni någon som helst idé om hur detta skall lösas?
[kod]
Det gick inte att avgöra Object-värdet. Orsaken kan till exempel vara att raden precis skapades, standardvärdet för Object-kolumnen var inte tillgängligt och konsumenten hade inte angett något nytt Object-värde.
[/kod]
Min kod ser ut så här:
[kod]
private void readForum()
{
try
{
iId = Convert.ToInt32(Request.QueryString["Id"]);
sql="
SELECT
t_Forum.id,
t_Forum.nick,
t_medlem.profilBild,
t_medlem.epost,
t_Forum.rubrik,
t_Forum.katId,"+
" t_Forum.orginal,
t_Forum.svarPa,
t_Forum.datum,
t_Forum.senast,
t_Forum.icon,
t_Forum.inlagg "+
" FROM
t_medlem
INNER JOIN (
t_Forum
INNER JOIN
t_Forum_Kategori
ON
t_Forum.katId = t_Forum_Kategori.id) "+
" ON
t_medlem.nick = t_Forum.nick
WHERE
t_Forum.id=?
OR
t_Forum.katId=?
AND
t_Forum.svarPa=" + iId +"
ORDER BY
t_Forum.id,
t_Forum.datum";
OleDbCommand Cmd = new OleDbCommand(sql, DBConn);
Cmd.Parameters.Add("id", OleDbType.Integer).Value = iId;
Cmd.Parameters.Add("katId", OleDbType.Integer).Value = ikatId;
DBConn.Open();
Repeater1.DataSource = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
Repeater1.DataBind();
DBConn.Close();
sql = "UPDATE t_Forum set hits = hits +1 WHERE ID =" + iId;
Cmd = new OleDbCommand(sql, DBConn);
DBConn.Open();
Cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
finally
{
DBConn.Close();
}
}
[/kod]
Om ni undrar varför jag använder =" + iId +" så var det därför att jag
inte lyckades att använda parameter till det.
Har ni någon som helst idé om hur detta skall lösas?