台灣最大程式設計社群網站
線上人數
2639
 
會員總數:246224
討論主題:189786
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 如何將detailsview顯示結果與fromview顯示結果連結
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何將detailsview顯示結果與fromview顯示結果連結
價值 : 20 QP  點閱數:1568 回應數:12
樓主

靈兒
門外漢
0 4
75 20
發送站內信

我用detailsview來顯示書籍細節資料,然後用formview顯示分享者本書的人有幾個,目前目前不管detailsview顯示哪一筆資料,fromview都只能顯示第一筆的人數
各位大大要怎麼辦呢>< 請問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>

搜尋相關Tags的文章: [ sql語法 ] , [ detailsview與fromview連結 ] ,
本篇文章發表於2012-11-28 15:39
1樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
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樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
不要用formview,改用gridview呢?
本篇文章回覆於2012-11-28 19:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

靈兒
檢舉此回應
回4樓 0.0
結果是一樣的0.0
因為SQL語法都一模一樣...
本篇文章回覆於2012-11-28 20:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應

能否就您的認知
說明一下這一段的意思
還是您根本不清楚這一段的意思呢?

您是否有將這一段語法在資料庫中執行看看
有看過它的結果是什麼嗎?

您希望他依據某一本書當作條件
那麼應該要有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樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
您的想法不太對唷


您對於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樓
回應

MIS2000 Lab
檢舉此回應
您問了幾個問題:

重點都一樣,您不懂四大天王(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樓
回應

MIS2000 Lab
檢舉此回應
原PO:

依照您的SQL指令來判斷,WHERE (bookname = @bookname)
依照書本名稱來搜尋,就跟人的姓名一樣
「同名同姓」必然是有的,除非您資料量太少

依照您的SQL指令來研判,您使用 FormView(呈現的頁面 也就只有一筆資料...)
似乎不可行


從您的作法裡面,我們已經「預知」您未來會出哪些紕漏了


還是勸您把基本功夫給修練好(顯見您對DB關連式資料表的觀念...都很微弱)
不要急著做出東西

Thanks.
本篇文章回覆於2012-11-30 11:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

靈兒
檢舉此回應
我知道我基礎沒打好...
但是現在是緊急狀況= =非要有東西出來不可...
哈哈...
本篇文章回覆於2012-12-01 13:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.