c# - 在文本框中显示 SQL 查询
问题描述
菜鸟问题
我目前正在 WPF 中编写一个应用程序,该应用程序连接到在 Entity Framework 的 Code First 上创建的数据库。我想进行查询,然后在 TextBox 中显示结果。
这是我的数据库上下文类:
class CepikDB : DbContext
{
public CepikDB() : base()
{
Database.SetInitializer<CepikDB>(new CreateDatabaseIfNotExists<CepikDB>());
}
public DbSet<Cars> Pojazdy { get; set; }
public DbSet<Drivers> Kierowcy { get; set; }
public DbSet<DrivingLicense> PrawoJazdy { get; set; }
public DbSet<InsurancePolicy> Polisa { get; set; }
public DbSet<TechnicalReview> BadanieTechniczne { get; set; }
public DbSet<CarDocsAndInfo> Informacje { get; set; }
}
这就是我想要执行查询的方式:
using (var ctx = new CepikDB())
{
var driverList = ctx.Kierowcy
.SqlQuery("Select * From Kierowcy")
.ToList<Drivers>();
}
但是,我不确定如何在文本框中显示查询结果。
解决方案
您需要将结果转换为字符串,如下所示:
StringBuilder sb = new StringBuilder();
foreach(var driver in driverList)
{
sb.AppendLine("$First name: {driver.FirstName}");
sb.AppendLine("$Last name: {driver.LastName}");
}
string text = sb.ToString();
然后你可以使用 text 变量来设置你的文本框的值。
但由于您使用的是 WPF,因此列表可能是可视化结果的更好选择。将此添加到您的 XAML:
<ListView x:Name="MyList">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding=
"{Binding Path=FirstName}"
Header="First Name" Width="100"/>
<GridViewColumn DisplayMemberBinding=
"{Binding Path=LastName}"
Header="Last Name" Width="100">
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
然后在后面的代码中设置列表,如下所示:
MyList.ItemsSource = driverList;
推荐阅读
- java - 使用 Java 更新和删除特定行 CSV 文件
- python - 在我的 Pycharm 和 CLI 中指向不同的 Python
- javascript - 从 js 购物车中提取数据并发送 php 电子邮件
- mongodb - 如果条件总是返回真正的弹簧数据 mongodb
- javascript - 在多个部分提交之前的jquery验证表单?
- java - 如何在java中打印数学时间表(某个数字的整个时间表)
- android - Gradle 升级后 Koush ION 崩溃
- python - OpenCV 更高效的背景减除方案
- nginx - 另一个域指向我的服务器并在其位置为我的站点提供服务
- reactjs - 错误:对象作为 React 子项无效(找到:带有键 {} 的对象)。如果您打算渲染一组孩子,请改用数组