tutorial preparar paso niif modelo metodo indirecto historico flujo estado efectivo directo como caja c# sql dataset

c# - preparar - Método directo del texto del comando SQL a DataSet



modelo de estado de flujo de efectivo metodo directo (3)

¿Cuál es la ruta más directa para obtener un DataSet si tengo un comando sql?

string sqlCommand = "SELECT * FROM TABLE"; string connectionString = "blahblah"; DataSet = GetDataSet(sqlCommand,connectionString); GetDataSet() { //...? }

Comencé con SqlConnection y SqlCommand , pero lo más cercano que veo en la API es SqlCommand.ExecuteReader() . Con este método, necesitaré obtener un SqlDataReader y luego convertirlo a un DataSet manualmente. Me imagino que hay una ruta más directa para llevar a cabo la tarea.

Si es más fácil, un DataTable también se ajustará a mi objetivo.


Sólo termínalo.

string sqlCommand = "SELECT * FROM TABLE"; string connectionString = "blahblah"; DataSet ds = GetDataSet(sqlCommand, connectionString);

DataSet GetDataSet(string sqlCommand, string connectionString) { DataSet ds = new DataSet(); using (SqlCommand cmd = new SqlCommand( sqlCommand, new SqlConnection(connectionString))) { cmd.Connection.Open(); DataTable table = new DataTable(); table.Load(cmd.ExecuteReader()); ds.Tables.Add(table); } return ds; }


public static string textDataSource = "Data Source=localhost;Initial Catalog=TEST_C;User ID=sa;Password=P@ssw0rd"; public static DataSet LoaderDataSet(string StrSql) { SqlConnection cnn; SqlDataAdapter dad; DataSet dts = new DataSet(); cnn = new SqlConnection(textDataSource); dad = new SqlDataAdapter(StrSql, cnn); try { cnn.Open(); dad.Fill(dts); cnn.Close(); return dts; } catch (Exception) { return dts; } finally { dad.Dispose(); dts = null; cnn = null; } }


public DataSet GetDataSet(string ConnectionString, string SQL) { SqlConnection conn = new SqlConnection(ConnectionString); SqlDataAdapter da = new SqlDataAdapter(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = SQL; da.SelectCommand = cmd; DataSet ds = new DataSet(); conn.Open(); da.Fill(ds); conn.Close(); return ds; }