簡體   English   中英

如何以列表形式從數據庫中檢索文本(SQL Server和ASP.NET MVC)

[英]How do I retrieve text from database in list form (SQL Server & ASP.NET MVC)

我在數據庫中插入了以下段落:

審查當前系統。提出改進系統的想法,包括成本建議。 與分析師,設計師和員工緊密合作。 產生詳細的規范並編寫程序代碼。 在上線之前,請在受控的真實環境中測試產品。 為用戶准備培訓手冊
一旦系統啟動並運行,便對其進行維護。

我想這樣檢索它:

•審查當前系統

•提出系統改進的想法,包括成本建議

•與分析師,設計師和員工緊密合作

•制定詳細的規范並編寫程序代碼

•上線之前在受控的真實環境中測試產品

•為用戶編寫培訓手冊

•在系統啟動並運行后對其進行維護

在ASP.NET MVC前端中。

在不了解有關應用程序設置,數據庫架構以及您實際上需要幫助的確切部分的情況下; 您會得到一個更通用的答案,該答案可能與您的體系結構不匹配。

第1部分將是我為此使用的數據庫表

CREATE TABLE dbo.PageContent (
    PageID    INT IDENTITY(1,1) NOT NULL,
    PageText  NVARCHAR(MAX)     NULL DEFAULT(''),
    CONSTRAINT PK_PageContent_PageID PRIMARY KEY CLUSTERED ([PageID] ASC) ON [PRIMARY]
) ON [PRIMARY]
GO

INSERT PageContent(PageText) VALUES ('Reviewing cur...  and running.')
GO

第2部分將是(數據)模型。 沒有提到ORM或DB模式,這意味着我是用ADO編寫的。 請注意,由於重載方法僅檢索1個數據值,因此我實現了Scalar方法以節省Reader的開銷

public class PageContent {
    public int PageID { get; set; }
    public string PageText {get; set; }

    public PageContent() {}

    public PageContent (int ContentID) {
        PageID = ContentID;

        using (SqlConnection conn = new SqlConnection(YourConnString)) {
            using (SqlCommand cmd = new SqlCommand("SELECT PageText FROM PageContent WHERE (PageID = @PageID)", conn);
                cmd.CommandType = CommandType.Text;
                cmd.Paramaters.AddWithValue("@PageID", PageID);

                try {
                    conn.Open();
                    PageText = (string)cmd.ExecuteScalar();
                }
                catch (Exception ex) {
                    PageText = "An Error has occurred";
                    // your error handling here
                }
                finally { conn.Close(); }
            }
        }
    }
}

第3部分將是Controller和一個基本的Action,用於根據ID獲得正確的模型。 除非您要進行排序或其他操作,否則無需使用List<> ,您可以只使用數組並節省一些開銷。

public ActionResult RetrievePageText(int ContentID) {
    PageContent PC = New PageContent(ContentID);
    string[] PageLines = PC.PageText.split('.');
    return View(PageLines);
}

第4部分,結束於View。 您將需要編寫自己的標題行和HTML。 這將使用ASPX視圖引擎,如果您是Razor或其他人,則需要對其進行轉置。

<ul>
    <% foreach (string line in Model) { %>
        <li><% =line %></li>
    <% } %>
</ul>

暫無
暫無

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

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