当我将所有数据库表的名称放入下拉列表和放大器时,我该怎么办?当我从下拉列表中选择或单击表名时,将整个字段动态显示到gridview中。请在asp.net中给我最好的解决方案。
答案 0 :(得分:0)
使用mysql命令SHOW TABLES
和DESCRIBE table_name
并将结果绘制到网格中。我不知道ASP代码。
答案 1 :(得分:0)
(这是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.接下来,使用GridView将ObjectDataSource拖放到表单上(将其DataSourceID设置为objectdatasource)。在ObjectDataSource选择方法上指定此方法。您可以指定要从Control(例如DropDownList1)读取的tableName的参数。 DropDownList1可以保留一个表列表。
答案 2 :(得分:0)
您可以通过为表格选择查询,然后将该数据集绑定到gridview数据源,将表格内容动态加载到gridview中。
希望这可以帮助你!!