我如何使用 LINQ 获取我的本地数据库数据来填充我的文本框?
how can i get my local DB data to fill my txt box using LINQ?
我在我的学校学习指南中学习了这个 LINQ 代码,但它们没有在文本框中向我们展示,只向我们展示了使用属性进行数据绑定,但我需要使用 LINQ 代码,而不是像我对组合框数据所做的那样.
public partial class Students : Form
{
LINQDataClasses1DataContext DB = new LINQDataClasses1DataContext();
public Students()
{
InitializeComponent();
}
private void Students_Load(object sender, EventArgs e)
{
//Retrieving data from datbaser using LINQ class convert it to list students ID's
var StudentIDs = (from c in DB.Students select c).ToList();
var STudentName = (from c in DB.Students select c).ToString();
//bind the Student ID combo box to database
cmbSTID.DataSource = StudentIDs;
//Databinding setup for the Student ID combo box
cmbSTID.DisplayMember = "SID";
cmbSTID.ValueMember = "SID";
cmbSTID.DataSource = StudentIDs;
我不知道你的 Student
class 是什么,所以我只能猜测它看起来像这样:
public class Student
{
public long SID { get; set; }
public string Name { get; set; }
}
解决方法很简单:
private void Students_Load(object sender, EventArgs e)
{
//Retrieving data from datbaser using LINQ class convert it to list students ID's
var studentsList = DB.Students.ToList();
//Databinding setup for the Student ID combo box
cmbSTID.DisplayMember = "Name"; //Field name in Student class
cmbSTID.ValueMember = "SID"; //Field name in Student class
cmbSTID.DataSource = StudentIDs;
}
据我了解,在你的代码中 StudentIDs = StudentName,它既不是学生 ID 列表,也不是学生姓名列表,而是学生列表。假设您需要在文本框中显示第一个学生姓名,然后尝试 textBoxName.Text = StudentIDs.First().Name
我在我的学校学习指南中学习了这个 LINQ 代码,但它们没有在文本框中向我们展示,只向我们展示了使用属性进行数据绑定,但我需要使用 LINQ 代码,而不是像我对组合框数据所做的那样.
public partial class Students : Form
{
LINQDataClasses1DataContext DB = new LINQDataClasses1DataContext();
public Students()
{
InitializeComponent();
}
private void Students_Load(object sender, EventArgs e)
{
//Retrieving data from datbaser using LINQ class convert it to list students ID's
var StudentIDs = (from c in DB.Students select c).ToList();
var STudentName = (from c in DB.Students select c).ToString();
//bind the Student ID combo box to database
cmbSTID.DataSource = StudentIDs;
//Databinding setup for the Student ID combo box
cmbSTID.DisplayMember = "SID";
cmbSTID.ValueMember = "SID";
cmbSTID.DataSource = StudentIDs;
我不知道你的 Student
class 是什么,所以我只能猜测它看起来像这样:
public class Student
{
public long SID { get; set; }
public string Name { get; set; }
}
解决方法很简单:
private void Students_Load(object sender, EventArgs e)
{
//Retrieving data from datbaser using LINQ class convert it to list students ID's
var studentsList = DB.Students.ToList();
//Databinding setup for the Student ID combo box
cmbSTID.DisplayMember = "Name"; //Field name in Student class
cmbSTID.ValueMember = "SID"; //Field name in Student class
cmbSTID.DataSource = StudentIDs;
}
据我了解,在你的代码中 StudentIDs = StudentName,它既不是学生 ID 列表,也不是学生姓名列表,而是学生列表。假设您需要在文本框中显示第一个学生姓名,然后尝试 textBoxName.Text = StudentIDs.First().Name