我想将mysql表的内容显示在gridview中

时间:2011-01-12 09:20:42

标签: asp.net mysql

当我将所有数据库表的名称放入下拉列表和放大器时,我该怎么办?当我从下拉列表中选择或单击表名时,将整个字段动态显示到gridview中。请在asp.net中给我最好的解决方案。

3 个答案:

答案 0 :(得分:0)

使用mysql命令SHOW TABLESDESCRIBE 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中。

希望这可以帮助你!!