請教大家,如何將MSSQL查詢結果輸出到HTML?並且以表格方式輸出到HTML,謝謝!
<hr> <% //====== Step 1:建立資料庫連結,然後開啟資料庫 conn = Server.CreateObject("ADODB.Connection"); conn.ConnectionString = "Driver={SQL Server};Datebase=資料庫名稱;Server=位址;UID=**;PWD=**"; conn.Open(); //====== Step 2:執行SQL指令,並將查詢結果儲存於 Recordset 中 sql = "SELECT * FROM testTable"; //從資料表 testTable 取出所有資料 rs = conn.Execute(sql); %> <table border=1 align=center> <tr bgcolor="cyan"> <% //====== Step 3:透過 RecordSet 集合取得欄位的內容 //印出欄位名稱 for (i=0; i<rs.Fields.Count; i++) Response.write("<th>"+rs(i).Name+"</th>\n"); %> </tr> <% //印出每一筆資料 while (!rs.EOF) { Response.write("<tr>\n"); for (i=0; i<rs.Fields.Count; i++) Response.write("<td>"+rs(i)+" </td>\n"); rs.MoveNext(); } %> </table> <% //====== Step 4:關閉 RecordSet 及資料庫連結 rs.Close(); conn.Close(); %> <hr>
badboy01提到:
我的想法是這樣,公司有一套請假系統(資料庫為MSSQL2005),但是這套系統沒有秀出今天日期哪些人是請假中狀態,所以我想用SQL語法查詢出今天請假的人(語法中會去查詢當天日期有請假的人),然後將這個查詢結果以表格顯示在一個網頁上,這樣大家可以到這各網頁看到今天有哪些人請假。
你可以反過來思考,寫一個請假狀態的MSSQL的Store Procedure,加入排程,用mail的方式寄給主管或需要的人,何必一定要上網去查詢?
甚至使用MS-Query將查詢的結果,mail給大家。
或是像 antijava 說的用 Reporting Service。
有許多種方式,不必拘泥於網頁吧?
richardsuma 您好!
會希望用網頁方式是因為要和公司的入口網站結合,這樣使用者想要查詢直接就可以看,如果用Mail之類的又怕有些人會說沒看到,不知道Reporting Service要怎麼去使用也可以達到我要的效果?謝謝!
Dear badboy01:
你的 MSSQL 2005 server 需要安裝 Reporting Service,
且需要花一些effort。
為什麼不在你的EIP上直接寫一支請假狀況,或許是最簡單的方式,
也比較好管理,不然你還要架設網站,同樣要寫程式,為何不回歸到
正常的EIP系統去管理,也比較好控制權限,說不一定,不是每個人
都可以看到請假人員的狀態。
richardsuma 您好!
因為EIP這個請假系統沒有提供這種功能,如果要提供這個功能必須付費升級另一個版本,礙於公司預算無法升級功能,謝謝!
(土法)
在 SQL 查詢結果選複製,
再到 Excel 選貼上, 然後另存檔案成網頁,
再把網頁檔案透過 ftp 丟到網站上, 並修改對應的連結.
也可以在 Excel 內下 SQL ^^
以個人神機妙算, 原本的問題應該是要產生動態網頁吧....
不過沒有說明網站有沒有堤供 php 或 asp , 另外的方式就是用 form get 或 post , 不過主機上還是要有對應的程式, 什麼都沒有的情況下, 就只好用土法.
感謝各位回答,我是要用動態方式,我從MSSQL查詢語法查詢出結果後,放到HTML上,我的網頁就只有一頁使用簡單HTML語法可以動態放這個查詢的結果,謝謝!
badboy01提到:
動態
才是最大關鍵問題阿,不是html。html本身沒有方法跟任何資料庫伺服器連接做查詢的。
喔!HTML語法沒有阿,我是查詢到一個網站,http://database.ctocio.com.cn/tips/307/8280807.shtml有介紹怎麼設計,但是我真的看不懂@@",所以如果要用網頁動態呈現要用甚麼方式呢?謝謝!
badboy01提到:
http://database.ctocio.com.cn/tips/307/8280807.shtml
我看起來是這樣:
因為你想要的是"透過輸入某個日期, 查詢資料庫中的某些資料.", 而這網站提供的是"已經有限制條件, 查詢特定資料, 只是透過 html 呈現", 所以少了"在網頁內提供輸入(或選擇)日期, 讓 SQL 語法依這日期去查詢"的功能.
所以我覺得你應該把大方向的主題先列出來, 例如: "透過輸入某個日期, 查詢資料庫中的某些資料."; 再說明已經有的工具, 例如: 網站/SQL主機有沒有 php/asp(.net)? SQL主機與網站是分開還是在一起?
再來就是技術:
這些全部都拆解後, 再思考怎樣突破, 組合起來才是完整的功能, 太片段的單一問題, 網友提出一堆可能的作法, 反而會讓你的目標被分散掉, 或各小問題間組合不起來, 卻還不知道為什麼組合不起來.
badboy01提到:
http://database.ctocio.com.cn/tips/307/8280807.shtml
這裡說的是在mssql中透過stored procedure來產生html文件,跟動態沒關係,跟網站也沒直接關係,只是檔案格式剛好是html而已。你需要先思考,使用者怎麼去接觸資料...透過網站?透過分享磁碟?然後再考慮提供怎樣的條件來取得查詢結果(日期區間?)然後考慮用哪種程式語言來實作(asp.net/php/others),最後產出的才是你要的html格式的結果。
你在mssql跟產出的html中間,還少了很多環節。
slime您好!
我的想法是這樣,公司有一套請假系統(資料庫為MSSQL2005),但是這套系統沒有秀出今天日期哪些人是請假中狀態,所以我想用SQL語法查詢出今天請假的人(語法中會去查詢當天日期有請假的人),然後將這個查詢結果以表格顯示在一個網頁上,這樣大家可以到這各網頁看到今天有哪些人請假。
以下回答
1.網頁只提供使用者查看,不需輸入
2.目前查到的資料好像是要使用ASP動態網頁技術
3.後台是存放我下的查詢語法,結果顯示在前台網頁
4.只要顯示SQL查詢結果的網頁
感謝!
fillano 您好!
您說(mssql跟產出的html中間,還少了很多環節),因為中間環節這部分不是很懂,可以解釋一下嗎?謝謝!
fillano 您好!
您說(mssql跟產出的html中間,還少了很多環節),因為中間環節這部分不是很懂,可以解釋一下嗎?謝謝!
大家都點到了重點: 有沒有動態網頁的技術(ASP.NET/PHP 等等)
如果你知道上述這些東西, 你的問題應該是很簡單的
若沒有,
我可以想到的方式
題目是SQL Server查詢結果直接輸出XML
請直接使用下列指令..
SELECT Column-List...
FROM YourTableName
FOR XML AUTO, TYPE
這樣會直接輸出XML的格式的資料..
但是前題你必須再輸出一個叫XSD資料格式平台這樣才會塔配使用