2010-07-28 1 views
1

У меня есть проект ASP.NET и вы хотите создать страницу, на которой мои системные администраторы могут изменять данные таблицы базы данных (вставлять, обновлять и удалять строки).Веб-менеджер базы данных .NET SQL

Во-первых, у меня есть раскрывающийся, который с привязкой к данным на основе таблиц в базе данных:

DdlTable.DataSource = from x in dc.Mapping.GetTables() 
         orderby x.TableName.Replace("dbo.", "") 
         select new {TableName = x.TableName.Replace("dbo.", "")}; 
DdlTable.DataTextField = "TableName"; 
DdlTable.DataValueField = "TableName"; 
DdlTable.DataBind(); 
DdlTable.Items.Insert(0, "Select a Table"); 

Далее, я хотел бы иметь GridView (или какой-нибудь другой объект данных), который связан с таблицу после выбора, а также динамически создавать столбцы, вставлять, обновлять и удалять функциональные возможности. Можно ли это сделать без кодирования для каждой конкретной таблицы?

Очевидно, что я могу создать x число gridviews и источников данных, но я бы хотел, чтобы он был построен динамически для гибкости и минимального кодирования.

По сути, я хочу иметь простой веб-менеджер SQL.

ответ

0

Try ...

Создать отдельный источник данных для каждой таблицы (в коде или наценка, не имеет значения).

Убедитесь, что сетка не имеет источника данных, установленного при загрузке страницы.

В случае какого-либо события (нажатие кнопки, выбранное в результате изменения выпадающего списка и т. Д.), Установите источник данных gridview в зависимости от того, какой источник данных выбран в раскрывающемся списке, убедитесь, что autogenerate = true, а затем databind().

+0

Конечно, я мог бы сделать это ... Я не хочу создавать источник данных для каждой таблицы - я хочу, чтобы он строился динамически. Таким образом, мне не нужно изменять свою разметку/код каждый раз, когда я изменяю базу данных или «код-out» 50+ источников данных. – dfarney

0

Короче говоря - нет - вы меняете свои столы, вам нужно изменить свой CRUD - нет волшебной пули.

Вы можете попробовать что-то вроде CodeSmith. Или вы можете просто написать что-то самостоятельно - не должно быть слишком сложно, не так ли? Запросите представление InformationSchema для полей вашей таблицы, и у вас есть вся информация, необходимая для создания функции в коде, чтобы генерировать утверждения CRUD.

Смежные вопросы