簡體   English   中英

在我的.aspx頁上遍歷SQL Server結果

[英]Looping through SQL Server results on my .aspx page

我是ASP.NET和C#的新手。 我精通SQL Server,並且從傳統的ASP世界移走了一段時間。

CREATE TABLE dbo.Chapters 
(
     ChapterID NUMERIC, 
     ChapterName NVARCHAR, 
     ChapterDesc NVARCHAR
)

SELECT mChapterID, ChapterName, ChapterDesc 
FROM Chapters

<table>
    <tr>
        <th>ID</th>
        <th>CHAPTER NAME</th>
        <th>DESCRIPTION</th>
    </tr>
    <tr>
        <td><input type="checkbox" name="chaptid" value="<%=Chapters.ChapterID %>"></td>
        <td><%=Chapters.ChapterName %></td>
        <td><%=Chapters.ChapterDesc %></td>
    </tr>
    <tr>
        <td>...</td>
    </tr> // 10 rows
</table>

查詢返回10行。 如何在表格行中遍歷它們,以便顯示全部10個?

編輯:我添加了一個復選框作為第一個字段

如果偶然您想一次在SQL Server中創建XML / HTML ...

Declare @YourTable Table ([ChapterID] int,[ChapterName] varchar(50),[ChapterDesc] varchar(50))
Insert Into @YourTable Values 
 (1,'Chapter 1','This is the 1st chapter')
,(2,'Chapter 2','This is the 2nd chapter')

Select (Select th='ID'
              ,null
              ,th='Chapter Name'
              ,null
              ,th='Description'
              ,null 
          For XML Path('tr'),type)
      ,(Select td= ( Select [@type]='checkbox'
                           ,[@name]='chaptid'
                           ,[@value]=[ChapterID]
                      For XML Path('input'),type)
              ,null
              ,td=[ChapterName]
              ,null
              ,td=[ChapterDesc] 
          From @YourTable 
           For XML Path('tr'),Type) 
 For XML Path(''),Root('table')

返回

<table>
  <tr>
    <th>ID</th>
    <th>Chapter Name</th>
    <th>Description</th>
  </tr>
  <tr>
    <td>
      <input type="checkbox" name="chaptid" value="1" />
    </td>
    <td>Chapter 1</td>
    <td>This is the 1st chapter</td>
  </tr>
  <tr>
    <td>
      <input type="checkbox" name="chaptid" value="2" />
    </td>
    <td>Chapter 2</td>
    <td>This is the 2nd chapter</td>
  </tr>
</table>

約翰·卡佩萊蒂(John Cappelletti)向我指出了一個方向,這就是我最終想到的。 謝謝約翰!

CREATE TABLE dbo.Chapters 
(
     ChapterID NUMERIC, 
     ChapterName NVARCHAR, 
     ChapterDesc NVARCHAR
)

DECLARE @body NVARCHAR(MAX)
SET     @body = N'<table>'
    + N'<tr><th>Check</th><th>Chapter Name</th><th>Chapter Desc</th></tr>'
    + CAST((
        SELECT  '<input type="checkbox" name="ChapterID" value="'+CONVERT(varchar(10),[c].[mChapterID])+'">' AS td,
                '<span style="font-weight: bold;">'+[c].[ChapterName]+'</span>' AS td, 
                [c].[ChapterDesc] AS td
        FROM    [ModuleChapters] c
        WHERE   [c].[inActive] = 0
          AND   [c].[isDeleted] = 0
        FOR XML RAW('tr'), ELEMENTS
    ) AS NVARCHAR(MAX))
    + N'</table>'

SELECT tBody = @body

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM