ragazzi ho un problema con un repeater

il mio repeater è contenuto in una pagina .aspx e al suo interno ci ho piazzato dei TextBox come questo

<ASP:TextBox CssClass="textarea" id="cod" runat="server" Text='<%# Container.DataItem("cod") %>' maxlength="20" />

per visualizzare i dati attualmente inseriti ed eventualmente modificarli

il problema è che non mi da nessun errore ma non mi visualizza nulla solo la prima riga di una tabella che è stampata attraverso il codice HTML normale
per quale motivo?
il codice sta in un file .vb
dove ovviamente dichiaro il repeater e tutti gli elementi (label TextBox etc) come public

per recuperare i dati nella sub Page_Load utilizzo il seguente codice

Sub Page_Load(obj as object, e as eventargs)
IF NOT Page.ISPostBack THEN
IF valtype = "mod" THEN
rptModificaCanc.Visible = false
titoloPagina.Text = "Modifica Prodotto"
dim stringQuery as string = "SELECT etc etc"
dim objSelect = new dbAccess
rptModifica.DataSource = objSelect.SelectSql(stringQuery)
DataBind()
ELSE IF valtype = "canc" THEN
rptModifica.Visible = False
titoloPagina.Text = "Cancella Prodotto"
dim stringQuery as string = "SELECT etc etc"
dim objSelect = new dbAccess
rptModificaCanc.DataSource = objSelect.SelectSql(stringQuery)
DataBind()
END IF
END IF
end sub

da notare che il titolo della pagina esterno al Repeater me lo stampa correttamente

la funzione SelectSQL sta in un file appositamente progettato per interagire con il db e ha il seguente codice

public function SelectSQL(strSelect as string) as OleDbDataReader
try
objConn = new OleDbConnection(ConnectionString)
objCmd = new OleDbCommand(strSelect, objConn)
objCmd.Connection.Open
return objCmd.ExecuteReader
objCmd.Connection.Close()
catch ex as OleDbException
return nothing
end try
end function

suggerimenti?