No entiendo por qué todos están tratando de usar ExecuteNonQuery o ExecuteScalar cuando la consulta en la pregunta es una instrucción SELECT. Si se trataba de una llamada de procedimiento almacenado que se ocupaba de la lógica de INSERT versus UPDATE en función de la existencia de un valor, ExecuteScalar tendría sentido porque puede devolver cualquier valor individual que desee de un procedimiento almacenado.
Sin embargo, dada la estructura de la pregunta, me estoy inclinando por esto como la respuesta.
// Automatically dispose the connection when done
using(SqlConnection connection = new SqlConnection(sqlConnection.ConnectionString)) {
try {
connection.Open();
// query to check whether value exists
string sql = @"SELECT dataset1
FROM dbo.ste
WHERE project = 'whatever'
AND date = '2010-11-30'";
// create the command object
using(SqlCommand command = new SqlCommand(sql, connection)) {
using(SqlDataReader reader = command.ExecuteReader()) {
// if the result set is not NULL
if(reader.HasRows) {
// update the existing value + the value from the text file
}
else {
// insert a value from a text file
}
}
}
}
finally {
// always close connection when done
if(connection.State != ConnectionState.Closed) {
connection.Close();
}
}
}
Puede cambiar la consulta para utilizar WHERE EXISTS
si no desea transmitir partidos de vuelta completa, pero a partir de los sonidos de la misma, sólo tendría a lo sumo 1 partido de todos modos.
¿Por qué desea ejecutar una selección sin esperar ningún resultado? – flq
no, no entiendo el punto. – RPM1984
porque si no hay un conjunto de resultados tengo que actualizar un valor de un archivo de texto, si hay un conjunto de resultados tengo que actualizar el valor existente + el valor del archivo de texto –