none
執行 SqlDataSource1.Select之後的問題 RRS feed

  • 問題

  • 1.條件:網頁內只有 SqlDataSource1 物件,沒有插入諸如 FormView1,GridView 等等可呈現記錄的物件。

    2.問題1:請問在執行 SqlDataSource1.Select(New DataSourceSelectArguments()) 之後,被搜詢到的記錄值暫存在哪?是不是暫存在<SelectParameters></SelectParameters>結構內?

    3.問題2:若要取出Select之後,該筆記錄的某項值,程式碼該怎麼寫,就如:
    Dim test As String=SqlDataSource1.SelectParameters.Item("")..........

    由於我需要應用Select搜詢之記錄的某一資料欄的值,進行必要運算,但無需呈現被搜詢之記錄的內容,所以就沒插入GridView 之類物件,因此就不知道如何取出記錄值。

    敬請指導,謝謝

    chian
    2010年2月26日 上午 02:05

解答

所有回覆

  • 91大回覆過你哦......
    http://social.msdn.microsoft.com/Forums/zh-TW/236/thread/48ad1dda-b67d-46fa-812d-37cf1b39d924


    要用變數去接,不然沒辦法用,像91大寫的
    DataView dv = (DataView)this.SqlDataSource1.Select(new DataSourceSelectArguments());


    有了DataView之後要抓第幾列第幾欄的資料都行
    dv[0][0].ToString()
    • 已提議為解答 91MVP, Moderator 2010年2月26日 上午 02:09
    • 已標示為解答 chian 2010年2月26日 上午 08:09
    2010年2月26日 上午 02:09
    版主
  • Hi,


    從MSDN說明可以看到:

    如果 DataSourceMode 屬性設定為 DataSet 值,則 Select 方法會傳回 DataView 物件。
    如果 DataSourceMode 屬性設定為 DataReader 值,則 Select 方法會傳回 IDataReader 物件。



    知道回傳物件後, 可以透過轉型處理:

    ((DataView)SqlDataSource1.Select(new DataSourceSelectArguments)).Table -->取得 Table




    ref:
    http://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.sqldatasource.select.aspx

    微軟技術支援中心 CSS - http://www.dotblogs.com.tw/lolota
    • 已提議為解答 Bill ChungMVP 2010年2月26日 上午 03:11
    • 已標示為解答 chian 2010年2月26日 上午 08:09
    2010年2月26日 上午 02:13
  • 1.感謝說明。
    2.我以VB方式編寫下列程式碼,但執行結果 dv 為 nothing,請問這錯在哪?

    Dim dv As New Data.DataView
    dv = SqlDataSource1.Select(New DataSourceSelectArguments())

    3.我沒有在 Data.DataView(tabel) 內編寫 tabel,因為我想  SqlDataSource1.Select 會傳回 tabel.

    謝了。

    chian
    2010年2月26日 上午 07:03
  • Hi,


    SqlDataSource1有指定select語法嗎 ?



    Lolota
    微軟技術支援中心 CSS - http://www.dotblogs.com.tw/lolota
    2010年2月26日 上午 07:36
  • SqlDataSource.CancelSelectOnNullParameter = false
    • 已標示為解答 chian 2010年2月26日 上午 08:09
    2010年2月26日 上午 07:39
    版主
  • About SqlDataSource's Select() Method,
    This sample is for your reference ---


    0 13     Sub myDBInit()
    0 14         '====從資料庫連結開始,100%都用手寫程式====
    0 15         Dim SqlDataSource2 As SqlDataSource = New SqlDataSource
    0 16         '== 連結資料庫的連接字串 ConnectionString  ==
    0 17         SqlDataSource2.ConnectionString = WebConfigurationManager.ConnectionStrings("testConnectionString" ).ConnectionString
    0 18         '== 撰寫SQL指令 ==

    0 22        
    0 23         SqlDataSource2.SelectCommand = "SELECT * FROM [test]"
     
    0 24         '== 執行SQL指令 .select () ==
    0 25         SqlDataSource2.DataSourceMode = SqlDataSourceMode.DataSet
    0 26         Dim dv As DataView = SqlDataSource2.Select (New DataSourceSelectArguments)
    0 27
    0 28         '============================================
    0 29         FormView1.DataSource = dv
    0 30         FormView1.DataBind()
    0 31         '============================================
    0 32
    0 33         SqlDataSource1.Dispose()
    0 34     End Sub



    Code Source from --
     http://www.dotblogs.com.tw/mis2000lab/archive/2009/11/10/formview_sqldatasource.aspx


    我的書 與 ASP.NET教學網站 http://www.dotblogs.com.tw/mis2000lab/
    2010年3月4日 上午 06:52