복붙노트

[SQL] SQL 명령 텍스트에서 데이터 집합에 직접 방법

SQL

SQL 명령 텍스트에서 데이터 집합에 직접 방법

나는 SQL 명령이있는 경우 데이터 집합을 얻을 수있는 가장 직접적인 경로는 무엇입니까?

string sqlCommand = "SELECT * FROM TABLE";
string connectionString = "blahblah";

DataSet = GetDataSet(sqlCommand,connectionString);

GetDataSet()
{
   //...?
}

를 SqlCommand.ExecuteReader을 나가도록 SqlConnection 및 SqlCommand를 시작,하지만 난 API에서 볼 수있는 가장 가까운 것은 ()이다. 이 방법을, 나는 SqlDataReader 개체를 얻을해야합니다 후 수동으로 데이터 집합이 변환합니다. 나는 작업을 수행 할 수있는보다 직접적인 경로가 파악.

쉽게 경우, DataTable을 또한 나의 목표에 맞게됩니다.

해결법

  1. ==============================

    1.

    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;
    }
    
  2. ==============================

    2.그냥 마무리.

    그냥 마무리.

    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;
    }
    
  3. ==============================

    3.

    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;
        }
    }
    
  4. from https://stackoverflow.com/questions/6584817/direct-method-from-sql-command-text-to-dataset by cc-by-sa and MIT license