Pregunta

Tengo esta instrucción SQL SELECT para seleccionar el ID cesta donde el identificador de usuario es igual a una identificación específica.

Quiero guardar el resultado de la consulta en una variable, por lo que pensé que podría haber hecho:

BasketPage.SelectCommand="SELECT BasketID FROM tblBasket WHERE (UserID = '9f96bd94-91b9-4328-8214-4eac179c3a26')"

var BasketID = BasketPage.ExecuteScalar().ToString();

Pero, al parecer tengo que crear una nueva instancia de un comando SQL para que funcione, ¿cómo puedo hacer esto por el BasketPage comando de selección?

¿Fue útil?

Solución

Yo no sé acerca de su BasketPage, pero no hay manera de que no puede realizar esta consulta con la base de subyacente utilizando el método ExecuteScalar. Suponiendo SQL Server:

using (var connection = new SqlConnection(connString))
    using (var command = connection.CreateCommand()) {
        command.CommandText = "select BasketId from tblBasket where UserId = N'9f96bd94-91b9-4328-8214-4eac179c3a26'";
        command.CommandType = CommandType.Text;

        try {
            var basketId = (string)command.ExecuteScalar(); // Assuming BasketId is a string, since you called ToString() in your question.
        } finally {
            command.Dispose();
            connection.Dispose();
        }
    }

Otros consejos

Si se asume que está utilizando SQL Server has algo así como

BasketPage.SelectCommand = 
         new SqlCommand("SELECT BasketID FROM tblBasket WHERE (UserID = '9f96bd94-91b9-4328-8214-4eac179c3a26')",
                      "yourconnectionstring");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top