Estás seguro que esa consulta devuelve datos? La probaste en el analizador de consultas?
Dónde muestras esos datos? Supongo que en una grilla, de ser así como es que los enlazas?
Mi recomendación sería configurar bien los parámetros
Código vb.net:
Ver originalDim strsql As String
strsql = "Select * from datos,cursos where datos.nombre=@nombre and cursos.curso=@curso and datos.dni=cursos.dni"
Dim cmd As New SqlCommand(strsql, Me.oConexion)
cmd.Parameters.Add("@nombre",SqlDbType.Varchar,50).value = Me.txtNombre.Text
cmd.Parameters.Add("@curso",SqlDbType.Varchar,50).value = Me.txtCursoFormaOcu.Text
Me.oDataAdapter = New MySqlDataAdapter(cmd)
Me.oDataSet = New DataSet
Me.oDataAdapter.Fill(oDataSet, "datos")
'
Me.DataGridView1.DataSource = oDataSet.Tables("datos")
Espero te ayude