что я могу сделать, когда мое имя таблицы базы данных в раскрывающемся списке и когда я выбираю или щелкаю по имени таблицы из раскрывающегося списка, отображает все поле в gridview динамически. Пожалуйста, дайте мне лучшее решение в asp.net.
Вы можете динамически загружать содержимое таблицы в gridview, помещая запрос выбора для таблицы, а затем привязывать этот набор данных к источнику данных gridview.
Надеюсь, это поможет вам!
(Это пример для MSSQL db. Для mysql вы можете попробовать использовать OdbcConnection или OleDbConnection в зависимости от версии MySql.)
1. Прямой способ выбора данных:
public class DAL
{
public static DataTable GetTableData(string tableName)
{
DataTable dt = new DataTable();
using (SqlConnection cn = new SqlConnection(Settings.Default.ConnectionString))
{
cn.Open();
SqlCommand cmd = cn.CreateCommand();
cmd.CommandText = string.Format("select * from {0}", tableName);
using (SqlDataReader rd = cmd.ExecuteReader())
{
bool ColumnsAdded = false;
while (rd.Read())
{
if (!ColumnsAdded)
{
for (int i = 0; i < rd.FieldCount; i++)
dt.Columns.Add(rd.GetName(i), rd.GetFieldType(i));
}
DataRow row = dt.NewRow();
for (int i = 0; i < rd.FieldCount; i++)
row[i] = rd[i];
dt.Rows.Add(row);
ColumnsAdded = true;
}
}
}
return dt;
}
}
2.Next вы отбрасываете ObjectDataSource в свою форму с помощью GridView (установка его DataSourceID на objectdatasource). Укажите этот метод в методе выбора объекта ObjectDataSource. Вы можете указать параметр для tableName для чтения из Control (например, DropDownList1). DropDownList1 presumebly ведет список таблиц.
Используйте команды mysql SHOW TABLES
и DESCRIBE table_name
и нарисуйте результат в сетки. Я не знаю коды ASP.