Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

Dude

 
Название:

dbViewer

Дата: 30 September 2002
Описание: Программа в один дроплист выводит все таблицы базы, а во второй - все поля выбранной в первом дроп листе базы. Пример нашел в инете, к нему же прилагался код - два файла. Пробовал повторить у себя - не выходит: выдает ошибку на DataSet в fetchData_sql.cs - A namespace does not directly contain members such as fields or methods. PS. я использовал code-behind. 
  Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения следующую строку: [CODEPOST ID=1]dbViewer[/CODEPOST]
Оценка: Проголосовало 1 посетителей, средняя оценка 5.00
Оценить:
  1  Первый файл: dbViewer_sql.aspx:
  2 
  3 <%@ Import Namespace="System.Data" %>
  4 <%@ Import Namespace="System.Data.SqlClient" %>
  5 
  6 <html>
  7 <head>
  8 <title>Dynamically Retrieving Data From Any SQL Server Source (Table View)</title>
  9 
 10 <script language="C#" runat="server" src="fetchData_sql.cs" />
 11 
 12 <script language="C#" runat="server">
 13 protected void Page_Load (Object src, EventArgs e) {
 14    if ( !IsPostBack ) {
 15       // obtain tables data
 16       // connect to data source
 17       SqlConnection myConn = new SqlConnection (
 18          "server=(local)\\NetSDK; trusted_connection=yes; database=northwind");
 19 
 20       // define the schema.tables query
 21       string query = "select * from Information_Schema.Tables where Table_Type='Base Table'";
 22 
 23       // initialize dataadapter
 24       SqlDataAdapter schemaAdapter = new SqlDataAdapter (query, myConn);
 25 
 26       // initialize and fill dbTables with query results
 27       DataTable dbTables = new DataTable ();
 28       schemaAdapter.Fill (dbTables);
 29 
 30       // bind dbTables to tblList
 31       tblList.DataSource = dbTables;
 32       tblList.DataBind();
 33       myConn.Close();
 34  
 35       // initialize fields data
 36       getFields (null,null);
 37    }
 38    msg.Text = "";
 39 }
 40 
 41 void getFields (Object src, EventArgs e) {
 42    // obtain fields data
 43    // connect to data source
 44    SqlConnection myConn = new SqlConnection (
 45       "server=(local)\\NetSDK; trusted_connection=yes; database=northwind");
 46 
 47    // define the schema.columns query
 48    string query = "select * from Information_Schema.Columns where Table_Name='" + 
 49       tblList.SelectedItem + "'";
 50 
 51    // initialize dataadapter
 52    SqlDataAdapter schemaAdapter = new SqlDataAdapter (query, myConn);
 53 
 54    // initialize and fill dbTables with query results
 55    DataTable dbFields = new DataTable ();
 56    schemaAdapter.Fill (dbFields);
 57 
 58    // bind dbFields to fldList
 59    fldList.DataSource = dbFields;
 60    fldList.DataBind();
 61    myConn.Close();
 62 }
 63 
 64 
 65 void getData (Object src, EventArgs e) {
 66    if (Request.Form["fldList"] != null) {
 67       // fetch data and bind to grid
 68       string query = "select " + Request.Form["fldList"] + " from " + 
 69          Request.Form["tblList"];
 70       DataTable myTable = (fetchData (query, "northwind")).Tables[0];
 71       if (myTable.Rows.Count > 0) {
 72          myGrid.DataSource = myTable;
 73          myGrid.DataBind();
 74       }
 75       else msg.Text = "<h5>No available data.</h5>";
 76       myGrid.Visible = (myGrid.DataSource != null);
 77    }
 78 }
 79 </script>
 80 </head>
 81 
 82 <body>
 83 <!-- #include virtual="~/shared/top.inc -->
 84 
 85 <div class="header"><h3>Dynamically Retrieving Data From Any <span class="hilite">SQL Server</span> Source (Table View)</h3></div>
 86 
 87 <hr size=1 width=90%>
 88 
 89 <form runat="server">
 90 <center>
 91 
 92    <p>Use the Control or Shift key to select multiple fields.
 93    <br>When changing tables, please wait until fields list has changed before clicking Fetch. </p>
 94 
 95    <b>Select Table</b> <asp:dropdownlist id="tblList" datatextfield="Table_Name" 
 96       autopostback onSelectedIndexChanged="getFields" runat="server" />
 97    <b>Select Fields</b> <asp:dropdownlist id="fldList" datatextfield="Column_Name"
 98       multiple runat="server" />
 99    <input type=submit value="Fetch" onServerClick="getData" runat="server" />
100 
101    <p><asp:label id="msg" runat="server" /></p>
102 
103    <asp:datagrid id="myGrid" runat="server"
104       cellpadding=5
105       font-size=8pt
106       headerstyle-backcolor="lightsteelblue"
107       headerstyle-font-bold
108       itemstyle-verticalalign="top"
109       alternatingitemstyle-backcolor="#eeeeee"
110       enableviewstate=false
111    />
112 
113 </center>
114 </form>
115 
116 <% if (myGrid.Items.Count > 0) {%>
117 
118    <hr size=1 width=90%>
119 
120 
121 <% } %>
122 
123 </body>
124 </html>
125 
126 
127  И второй файл: fetchData_sql.cs:
128 
129 // generic method to fetch data from SQL Server into dataset
130 
131 DataSet fetchData (string query, string db) {
132    // connect to data source
133    SqlConnection myConn = new SqlConnection (
134       "server=(local)\\NetSDK; trusted_connection=yes; database=" + db);
135 
136    // initialize dataadapter with query
137    SqlDataAdapter myAdapter = new SqlDataAdapter (query, myConn);
138 
139    // initalize and fill dataset with query results
140    DataSet myData = new DataSet();
141    myAdapter.Fill (myData);
142 
143    // return dataset
144    return myData;
145 }
146 
147 
148 
149 
150 
Вернуться к списку исходников в категории DataGrid, DataList, Repeater
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта