Simple SQL select in C #?

En mi proyecto actual, para get un valor único (select la columna de la tabla donde id = val), el progtwigdor anterior pasa usando datarow, datatable y sqldatadapter (y por supuesto sqlconnection) solo para get ese valor.

¿Hay alguna manera más fácil de hacer una consulta de selección simple? En php, puedo usar mysql_query y luego mysql_result y listo.

Sería bueno si pudiera hacer:

 SqlConnection conSql = new SqlConnection(ConnStr); SomeSqlClass obj = new SomeSqlClass(sql_string, conSql); conSql.Close(); return obj[0]; 

Gracias por cualquier consejo.

Puede saltear el DataReader y el DataAdapter y simplemente llamar a ExecuteScalar() en el command sql.

 using (SqlConnection conn = new SqlConnection(connString)) { SqlCommand cmd = new SqlCommand("SELECT * FROM whatever WHERE id = 5", conn); try { conn.Open(); newID = (int)cmd.ExecuteScalar(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } 

Probablemente estés buscando SqlCommand y SqlDataReader

 Dictionary<int, string> users = new Dictionary<int, string>(); using(SqlConnection connection = new SqlConnection("Your connection string")) { string query = "SELECT UserId, UserName FROM Users"; SqlCommand command = new SqlCommand(query, connection); connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) users.Add(reader.GetInt32(0), reader.GetString(1)); } connection.Close(); } 

En realidad, hay un método SqlCommand.ExecuteScalar () que simplemente devolverá el primer campo de la primera fila de los resultados devueltos. Solo para ti.

.NET Framework Class Library SqlCommand .. ::. Método ExecuteScalar

Ejecuta la consulta y devuelve la primera columna de la primera fila en el set de resultados devuelto por la consulta. Se ignoran columnas o filas adicionales.

Puedes hacer algo muy similar:

 using (SqlConnection conn = new SqlConnection(ConnStr)) using (SqlCommand cmd = new SqlCommand(sql_string, conn)) { conn.Open(); return cmd.ExecuteScalar(); } 

puede usar la function SqlCommands executeScalar. Por favor mira el siguiente enlace

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar.aspx