Nessun valore predefinito per il parametro

danilo982

Nuovo Utente
15 Feb 2006
2
0
0
ciao scusa il disturbo ma navigando ho visto che hai avuto e poi risolto un porblema simile al mio riguardo una pagina asp.net

ho questo problema:
dato il listato seguente quando vado a compilare e processare la riga

dim objreader as oleDBdataReader =objbike.ottienicategoria(categoriaID)

mi viene dato quest'errore:
Nessun valore predefinito per il parametro [@categoria].

questo è il listato

<%@ Page Language="VB" Debug="true" %>
<%@ Register TagPrefix="bike" TagName="intestazione" Src="intestazione.ascx" %>
<%@ Register TagPrefix="bike" TagName="menu" Src="menu.ascx" %>
<%@ import Namespace="system.data" %>
<%@ import Namespace="system.data.oledb" %>
<script runat="server">

sub page_load(sender as object, e as eventargs)
'ottieni categoriaid grazie query
dim categoriaID as string = cstr(request.params("cat"))

'imposta immagine e etichetta
image1.imageurl = "images/" & categoriaID & ".gif"
label1.text = "<b>" & categoriaID & "</b>"

'popola elenco con categorie prodotti
dim objbike as new bikebuilding.bikebuilding


dim objreader as oleDBdataReader =objbike.ottienicategoria(categoriaID)




datalist1.datasource=objreader
datalist1.databind()
objreader.close()
objbike.disponi
end sub

</script>
<html>
<head>
</head>
<body>
<td align="top" width="110">
<asp:Image id="Image1" align="texttop" border="1" runat="server"></asp:Image>
<br />
<asp:Label id="Label1" runat="server"></asp:Label></td>
<td valign="top">
<form runat="server">
<aspataList id="DataList1" runat="server" RepeatColumns="2">
<ItemTemplate>
<table width="200">
<tbody>
<tr>
<td valign="center" width="200">
<b><%# container.dataitem("nome")%></b>
<br />
<%# container.dataitem("descrizione")%>
<br />
<b>Prezzo: </b><%# system.string.format("{0;c}", container.dataitem("prezzo"))%>
<br />
<a href="aggiungialcarrello.aspx?partID=<%# container.dataitem("partid")%>&cat=<%# container.dataitem("categoria")%>"> <font color="#9d0000"><b> Aggiungi
al carrello </b></font> </a></td>
</tr>
</tbody>
</table>
</ItemTemplate>
</aspataList>
</form>
</td>
</body>
</html>

la funzione ottienicategoria è dichiarata all'interno di un file .vb (corretamente compilato) come segue:

public function ottienicategoria (categoria as string) as _
oledbdatareader
dim reader as oledbdatareader

dim objcmd as new oledbcommand ("ottienicategoria", _
conn)
objcmd.commandtype = commandtype.storedprocedure

dim param = new oledbparameter ("@categoria", _
oledbtype.char)
param.value = categoria
objcmd.parameters.add(param)

try
conn.open
reader = objcmd.executereader
catch e as exception
throw e
end try

return reader
end function

e la stored procedure in access ottienicategoria(si chiama cosi anche lei) recita così:

SELECT partid, nome, prezzo, descrizione, categoria
FROM tblparti
WHERE categoria=[@categoria];



sapreste darmi una mano?? grazie
 
mi sono dimenticato due righe all'inizio perchè avevo posto il problema ad un altra persona.. cmq mi rivolgo a chiunque possa darmi una mano in merito..
 

Discussioni simili