Cita: Pues de ambas maneras me sigue reportando el mismo error..
karnash, recuerda que el ExecuteScalar es para regresar la primera fila de la primera columna por ejemplo de una funcion agregada,(Select count(*)..)
pero en tu caso estás haciendo un select campo1..y por lo tanto vas a necesitas de un ExecuteReader..
Ejemplo:
Cita: Dim com As New SqlCommand("select cod_unidad from unidad"
& _"where nombre_unidad=@w", conexion)
Dim valor As Integer
com.Parameters.Add(New SqlParameter("@w", SqlDbType.NVarChar))
com.Parameters("@w").Value = "jarabe"
dim dr as SqlDataReader
Try
conexion.Open()
dr = com.ExecuteReader()
If dr.Read()
valor = CType(dr("cod_unidad"), Integer)
End IF
dr.close
...
..
Salu2