Во-первых, этот запрос "SELECT * FROM Information_Schema.Tables" будет только получать список таблиц и представлений в базе данных, но не извлекает записи в таблицах.Чтобы ограничить его извлечением только базовых типов таблиц, вам нужно будет включить предложение WHERE, как показано ниже.
Во-вторых, чтобы извлечь все записи в таблицах, вам придется пройтись по списку таблиц и построитьзапросы для извлечения записей (строк)
Вы можете попробовать это
public DataSet SelectDset()
{
DataTable dtTablesNames=new DataTable();
try
{
Open();
//get the list of tables in the database into a DataTable
sTablesNamesQuery="SELECT TABLE_NAME FROM INFORMATION_SCHEMA.Tables WHERE TABLE_TYPE = 'BASE TABLE' Order by TABLE_NAME";
SqlDataAdapter sda1 = new SqlDataAdapter(sTablesNamesQuery, con);
sda1.Fill(dtTablesNames);
//
DataSet dsAllTables = new DataSet();
StringBuilder sbQuery = "";
//build the queries that will be used to retrieve the tables rows
foreach (DataRow dr in dtTablesNames.Rows)
{
sbQuery.Append("SELECT * FROM " + dr["TABLE_NAME"].ToString()+";");
}
//
SqlDataAdapter sda2 = new SqlDataAdapter(sbQuery, con);
sda2.Fill(dsAllTables);
sda1.Dispose();
sda2.Dispose();
Close();
return dsAllTables;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}