public static Article GetJournalById(string ConnectionString,int Id)
{
using(SqlConnection sql = new SqlConnection(ConnectionString))
{
using(SqlCommand cmd = new SqlCommand("GetJournalById", sql))
{
Article article = new Article();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Id", Id);
sql.Open();
using(SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
article.Id = Id;
article.Title = reader.GetString(1).ToString();
article.Summary = reader.IsDBNull(2) ? string.Empty : reader.GetString(2).ToString();
article.Tag = reader.GetString(3).ToString();
article.Author = reader.GetString(4).ToString();
article.Ban = reader.GetByte(5);
article.BanReason = reader.IsDBNull(6) ? string.Empty : reader.GetString(6).ToString();
article.Date = reader.GetDateTime(7);
}
}
return article;
}
}
}
如何獲得多行?我知道如果需要獲得單行和多列,我可以像上面那樣做。但是我如何獲得多行?我想獲取多行并從函式中回傳它們。我還想在查看頁面上顯示回傳值。但我不知道如何,也不知道要搜索什么搜索詞。請幫我。
這是文章模型。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace News.Models
{
public class Article
{
public int Id { get; set; }
public string Title { get; set; }
public string Summary { get; set; }
public string Tag { get; set; }
public string Author { get; set; }
public byte Ban { get; set; }
public string BanReason { get; set; }
public DateTime Date { get; set; }
}
}
以下是從存盤程序中獲取多個帖子的代碼。(不完整,未解決)
public static int GetJournalByDate(string ConnectionString,DateTime date)//must be fix
{
using (SqlConnection sql = new SqlConnection(ConnectionString))
{
using (SqlCommand cmd = new SqlCommand("GetJournalByDate", sql))
{
try
{
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("@Date", System.Data.SqlDbType.DateTime2, 7).Value = date;
sql.Open();
cmd.ExecuteReader();
return 1;
}
catch
{
return 0;
}
}
}
}
uj5u.com熱心網友回復:
你可以用同樣的方式來做,只是用 List<Article> 代替 Article
public List<Article> GetJournalByDate(string ConnectionString,DateTime date)
{
......
List<Article> articles = new List<Article>();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("@Date", System.Data.SqlDbType.DateTime2, 7).Value = date;
sql.Open();
using(SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
var article= new Article();
article.Id = Id;
article.Title = reader.GetString(1).ToString();
article.Summary = reader.IsDBNull(2) ? string.Empty : reader.GetString(2).ToString();
article.Tag = reader.GetString(3).ToString();
article.Author = reader.GetString(4).ToString();
article.Ban = reader.GetByte(5);
article.BanReason = reader.IsDBNull(6) ? string.Empty :
reader.GetString(6).ToString();
article.Date = reader.GetDateTime(7);
articles.Add(article);
}
}
return articles;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/379668.html
