Con la WHERE da errore, altrimenti funge, dove sbaglio?



codice:
<%@ Page Language="VB" ValidateRequest="false" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%
dim tit
tit = "pippo"
%>
<script runat="server">
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
        ' Creo un oggetto connection, command e datareader del namespace OleDB
        Dim cn As OleDbConnection
        Dim cmd As OleDbCommand
        Dim dr As OleDbDataReader

        ' Apro la connessione
        Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("mdb-database/miodatabase.mdb")
        cn = New OleDbConnection(str)
        cn.Open()
        ' Lancio una query nell'oggetto commando di OleDB
        cmd = New OleDbCommand("SELECT ID, nome FROM inserzione WHERE nome = '" & tit & "'", cn)
        ' Eseguo la query in un datareader
        dr = cmd.ExecuteReader()
        ' Mostro i dati a video
        While (dr.Read())
            inserzione.Text += dr("ID") & "
"
        End While
        ' Un po di pulizia...
        dr.Close()
        cn.Close()
    End Sub
</script>
<html>
    <head>
        <title>Utilizzo di ADO.NET</title>
    </head>
<body>

<form id="Modulo" runat="server">
    <asp:Label id="inserzione" runat="server" />
</form>

</body>
</html>