C# 从数据读取器到前端获取数据

C# 从数据读取器到前端获取数据,c#,html,console-application,datareader,C#,Html,Console Application,Datareader,下面是从SQL获取数据的控制台应用程序代码 using (SqlConnection con = new SqlConnection("server=fcpcdb02; database=campus6; user id=; password=;")) { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = con;

下面是从SQL获取数据的控制台应用程序代码

        using (SqlConnection con = new SqlConnection("server=fcpcdb02; database=campus6; user id=; password=;"))
        {
            using (SqlCommand cmd = new SqlCommand())
            {
                cmd.Connection = con;

                cmd.CommandText = "select * from [Campus6].[dbo].[TRANSCRIPTDETAIL] where FINAL_GRADE='I' and ACADEMIC_YEAR = '2017'  and ACADEMIC_TERM='02TERM'";
                cmd.Connection.Open();
                using (SqlDataReader sqlRdr = cmd.ExecuteReader())
                {
                    // table = new DataTable();  
                    // table.Load(reader);  
                    if (sqlRdr.HasRows)
                    {
                        while (sqlRdr.Read())
                        {
                            id = (sqlRdr["PEOPLE_CODE_ID"].ToString());
                            subname = (sqlRdr["EVENT_LONG_NAME"].ToString());
                            eventid = (sqlRdr["EVENT_ID"].ToString());

                            year1 = (sqlRdr["ACADEMIC_YEAR"].ToString());
                            term = (sqlRdr["ACADEMIC_TERM"].ToString());
                            session = (sqlRdr["ACADEMIC_SESSION"].ToString());
                            subtype = (sqlRdr["EVENT_SUB_TYPE"].ToString());
                            section = (sqlRdr["SECTION"].ToString());
                            orgcode = (sqlRdr["ORG_CODE_ID"].ToString());
                        }
这是我生成HTML文件的代码

TextWriter tw = File.CreateText(@"C:\Users\sganatra\Documents\Visual Studio 2015\Projects\incompletechange\files\" + year1 + "" + term + ".html");


                            string template = System.IO.File.ReadAllText((@"C:\Users\sganatra\Documents\Visual Studio 2015\Projects\incompletechange\files\changegrade.html"));

                            tw.WriteLine("" + template + "");
                            Console.WriteLine("Text created");
                            tw.Close();
                            Console.WriteLine(Console.Read());

现在我想做的是从数据读取器中获取值,并在下载之前将其存储在html中。我只看到了几个用于.aspx文件的选项,我将数据输入其中,但当我下载它并将其转换为html时,我看不到任何数据

您需要做的是用占位符填充模板,一旦该模板加载到应用程序中,您将需要使用
Replace(string,string)
方法来填充空白

请注意,您的查询可能会返回多条记录,而您的读卡器例程将遍历所有记录,您的字符串变量将包含最后一条记录的值。如果是这种情况,您可能需要重新考虑您的总体设计。如果要写出所有这些记录,模板系统需要在“while(Read)”循环中

在下面的不完整示例中,我将用双磅符号(即
######
)包围模板中的占位符


这是您的最小、完整且可验证的代码示例吗?是否有机会通过以下操作改进您的问题?aspx已经插入了标记,因此它们是html。纯文本文件没有标签,您必须在软件中添加标签。如需将datatable转换为html的示例,请参阅以下帖子:@QualityCatalyst我删除了不需要的代码。@jdweng我得到了标记,表也被创建了,但我看不到其中的任何数据。我没有看到创建changegrade.html文件的任何代码。我会检查changegrade.html文件的数据,看看您的代码是否真的生成了这个文件。TextWriter tw看起来像是在读取changegrade.html文件,然后在文件的开头和结尾添加双引号。我
// earlier code
string template = System.IO.File.ReadAllText((@"C:\Users\sganatra\Documents\Visual Studio 2015\Projects\incompletechange\files\changegrade.html"));

template.Replace("##id##", id);
template.Replace("## subname##",  subname);
template.Replace("##eventid##", eventid);
// and so on for year1 => orgcode

tw.WriteLine("" + template + "");
// and the rest of your code