从 SQL 字符串中提取值并打印出来
本文关键字:打印 提取 SQL 字符串 | 更新日期: 2023-09-27 18:31:13
>我有这个查询,我想提取生成的信息并将其打印到包含 WML 卡的 ASP.net 页面中。
string queryString = "select st.firstname + ' ' + st.lastname,se.year, c.coursename,c.NumberOfCredits,ri.mark from Students st inner join RegisteredIn ri on ri.StudentId=st.id inner join Semester se on se.id=ri.SemesterId inner join Courses c on c.id=se.id ";
注意:结果将是这样的
First Semester 2010
Student : Arin Rizk
Course Name No. of Credit Mark
AAA 3 65
BBB 3 23
CCC 3 65
DDD 3 58
EEE 3 70
我该怎么做?请告诉我。
您可以构建一个模型来表示您的数据:
public class StudentCourse
{
public string Name { get; set; }
public int Year { get; set; }
... and so on
}
然后,您可以创建一个方法,该方法将使用 ADO.NET 查询数据库并填充此模型的集合:
public static IEnumerable<StudentCourse> GetCourses()
{
using (var conn = new SqlConnection(SomeConnectionString))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = "select st.firstname + ' ' + st.lastname, se.year, c.coursename, c.NumberOfCredits, ri.mark from Students st inner join RegisteredIn ri on ri.StudentId=st.id inner join Semester se on se.id=ri.SemesterId inner join Courses c on c.id=se.id";
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
yield return new StudentCourse
{
Name = reader.GetString(0),
Year = reader.GetInt32(1),
... and so on
};
}
}
}
}
最后,您可以将其绑定到页面中的 GridView:
public void Page_Load(object sender, EventArgs e)
{
courses.DataSource = GetCourses();
courses.DataBind();
}
在你后面的代码中,你将有网格:
<asp:GridView ID="courses" runat="server" AutoGenerateColumns="true" />
或者,如果您不想使用 Grid 视图,只需使用 Repeater
并从模型中构建您喜欢的任何标记。
您可以使用
网格视图和Itemtemplate来实现此...您需要做的就是将 sql 查询与 gridview 绑定,并根据您的要求在项模板中创建表。