![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 靈兒 ![]()
![]() |
各位大大要怎麼辦呢>< 請問sql語法該如何改呢>< 我現在formview資料庫的語法: <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ASPBOOK %>" SelectCommand="SELECT ISBN AS 書名, COUNT(ISBN) AS 總人數 FROM Bookrecommend GROUP BY ISBN "></asp:SqlDataSource> detailsview的資料庫語法: <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ASPBOOK %>" SelectCommand="SELECT NO, bookname, ISBN, Auther, publisher, recommend, name, time, ID, scores FROM Bookrecommend WHERE (bookname = @bookname) " InsertCommand="INSERT INTO [Bookrecommend] ([bookname], [ISBN], [Auther], [publisher], [recommend], [name], [time], [ID], [scores]) VALUES (@bookname, @ISBN, @Auther, @publisher, @recommend, @name, @time, @ID, @scores)" > <InsertParameters> <asp:Parameter Name="bookname" Type="String" /> <asp:Parameter Name="ISBN" Type="String" /> <asp:Parameter Name="Auther" Type="String" /> <asp:Parameter Name="publisher" Type="String" /> <asp:Parameter Name="recommend" Type="String" /> <asp:Parameter Name="name" Type="String" /> <asp:Parameter Name="time" Type="DateTime" /> <asp:Parameter Name="ID" Type="String" /> <asp:Parameter Name="scores" Type="Int32" /> </InsertParameters> <SelectParameters> <asp:QueryStringParameter Name="bookname" QueryStringField="NO" Type="string" DefaultValue="0" /> </SelectParameters> </asp:SqlDataSource> |
1樓 |
DetailsView 與 FormView都是用來一次顯示一筆資料的
因此,不是很明瞭樓主想要的是什麼 是否可以請樓主描述清楚一些呢? 感恩 ^_^
本篇文章回覆於2012-11-28 16:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓
作者回應
靈兒 ![]() |
就是我detailsview 是顯示讀者分享的書籍資料0.0
然後fromview 是要顯示這本書幾個人分享了 這兩個是擺在同一個網頁頁面(稱它為2.aspx) 例如:我從搜尋頁面(1.aspx)找"風動鳴"這本書(假如者本書有3個人分享),和"小王子"這本書(1人分享,第一本分享的書名) 我點風動鳴連結後到(2.aspx)網頁頁面 detailsview顯示出這本書的資料,fromview也應該要顯示出3個人 但是現在問題是 顯示人數沒辦法跟著書本做變動,不管點哪本書0.0都只能連到分享第一本書的人數 1
本篇文章回覆於2012-11-28 17:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓
作者回應
靈兒 ![]() |
希望可以聽的懂我講的><
如果不懂還可以在問喔~ 謝謝你願意幫助我^o^
本篇文章回覆於2012-11-28 17:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓 |
不要用formview,改用gridview呢?
本篇文章回覆於2012-11-28 19:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓
作者回應
靈兒 ![]() |
回4樓 0.0
結果是一樣的0.0 因為SQL語法都一模一樣...
本篇文章回覆於2012-11-28 20:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓 |
能否就您的認知 說明一下這一段的意思 還是您根本不清楚這一段的意思呢? 您是否有將這一段語法在資料庫中執行看看 有看過它的結果是什麼嗎? 您希望他依據某一本書當作條件 那麼應該要有WHERE的部分 有沒有想過怎麼下WHERE的語法呢? 如果我直接告訴您答案,您還是沒學會 不妨您想想後寫下您的答案 不對也無妨,至少可以讓我們知道您的理解到哪裡 另外,SQL的部分您可能很需要加強 找本相關的書籍練習練習吧 加油 ^_^
本篇文章回覆於2012-11-28 21:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
7樓
作者回應
靈兒 ![]() |
書名我應該要改成ISBN
1SELECT ISBN AS ISBN, COUNT(ISBN) AS 總人數 選擇ISBN 計算ISBN出現次數 2 FROM Bookrecommend 在Bookrecommend 資料表中 3 GROUP BY ISBN 所有ISBN 所以顯示出的結果 會用ISBN來算 每一個ISBN書碼來計算每一本書的分享次數 但是我把它來當做計算人數 WHERE我有想過但是怎麼是都失敗 SELECT ISBN AS 書名, COUNT(ISBN) AS 總人數 FROM Bookrecommend where ISBN=@ISBN GROUP BY ISBN 因為我有點緊急...所以才會一直在上面問>< 拜託了><
本篇文章回覆於2012-11-28 21:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
8樓 |
您的想法不太對唷
您對於SQL的指令看來並不太熟悉 尤其是對於群組、統計的相關語法 Group By ISBN : 依據ISBN來群組、歸類 這個語法執行出來會有幾筆呢? 應該是很多筆資料吧 而FormView是用來表現單筆資料與維護的 所以當然會顯示這多筆資料中,第一筆的內容顯示在這裡 所以您應該要針對ISBN來下條件,看看DetailsView是哪一筆,就顯示哪一筆的資料 這會用到Having的語法 相關語法看一下,想一下,然後改您的語法之後再試試看 (先別管急不急,給您答案,您下次還是不會,倒不如利用這次的機會把東西學起來) http://www.1keydata.com/tw/sql/sqlhaving.html 直接在SQL裡面試試看,執行看看 看看能否在SQL裡面跑出您要的結果 之後再來改您的ASP.NET ^_^
本篇文章回覆於2012-11-29 08:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
9樓 |
您問了幾個問題:
重點都一樣,您不懂四大天王(DetailsView/ FormView 與 GridView/ListView)的優缺點 亂湊、亂用。 問題: ************************************************************** 單一筆記錄的呈現,請用 DetailsView/ FormView 多筆(大量)記錄的呈現,請用 GridView/ListView或是 DataList or Repeater等等 ************************************************************** 回到您的問題, 是否改成「用GridView顯示分享者本書的人有"幾個"」會好一些? 您連基本的控制項,都沒搞懂,就開始「湊」程式了 這樣真的很不好
本篇文章回覆於2012-11-29 10:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
10樓
作者回應
靈兒 ![]() |
回9樓∼
不好意思... 這部份我沒有要一次呈現多比的意思.... 是在查詢頁面點了查尋到的書本連結,才會到呈現的頁面 也就只有一筆資料... 只是在想我另外要顯示的總人數 如何才能我點別本書連結近來 也會跟著改變...
本篇文章回覆於2012-11-29 12:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
11樓 |
原PO:
依照您的SQL指令來判斷,WHERE (bookname = @bookname) 依照書本名稱來搜尋,就跟人的姓名一樣 「同名同姓」必然是有的,除非您資料量太少 依照您的SQL指令來研判,您使用 FormView(呈現的頁面 也就只有一筆資料...) 似乎不可行 從您的作法裡面,我們已經「預知」您未來會出哪些紕漏了 還是勸您把基本功夫給修練好(顯見您對DB關連式資料表的觀念...都很微弱) 不要急著做出東西 Thanks.
本篇文章回覆於2012-11-30 11:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
12樓
作者回應
靈兒 ![]() |
我知道我基礎沒打好...
但是現在是緊急狀況= =非要有東西出來不可... 哈哈...
本篇文章回覆於2012-12-01 13:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |