|
|
|
 |
 |
Исходник |
 |
|
 |
 |
|
Автор:
|
|
|
Название:
|
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 |
|
|
 |
 |
 |
 |
|
|