【问题标题】:how to implment a Join SQL command with a Data binding Source如何使用数据绑定源实现 Join SQL 命令
【发布时间】:2013-11-26 09:46:26
【问题描述】:

我有一个有两个表书和作者的数据库。这两个表由两个表中出现的字段 AuthorID 连接。

图书表(ISBN、书名、作者 ID)

作者表(AuthorID、姓名)

我有一个从 BOOK 表中检索所有信息的表单,我想检索作者姓名而不是 AuthorID。我想在 Visual Studio 中创建一个数据绑定源,它根据作者 ID 检索作者姓名价值。我写了 sql join 查询,但我不知道如何调用在 Visual Studio 中与 C# 的数据绑定中实现

谢谢

【问题讨论】:

  • 你想绑定什么?

标签: c# sql data-binding


【解决方案1】:

所以使用 linq 这真的很容易。

创建一个类来保存您加入的结果的记录。

public class Book
{
    public string ISBN {get; set;}
    public string Title {get; set;}
    public int AuthorID {get; set;}
    public string AuthorName {get; set;}
}

创建一个列表或可枚举对象来保存您所有的连接结果。

List<Book> books

获取您的两个来源。让我们称他们为书籍和作者。然后让我们编写连接。

List<Book> books = from book in BookTable
                   join author in AuthorTable on book.AuthorID equals author.AuthorID
                   select new Book
                   {
                       ISBN = book.ISBN
                       Title= book.Title
                       AuthorName = author.Name
                       AuthorID = book.AuthorID
                   }.ToList();

然后让我们将您的(ListView?)数据源分配给该连接。

lvwBooks.DataSource = books;

另外,如果您想在平面 sql 中执行此操作:

select Authors.Name, Authors.AuthorID, Books.Title, Books.ISBN from Authors
join Books on Books.AuthorID = Authors.AuthorID

你应该很好!

【讨论】:

    【解决方案2】:

    如果我正确理解了这个问题,那么您应该创建一个 SQL 数据源并使用您为选择查询编写的自定义 sql 语句。

    创建 sql 数据源后,您可以在尝试绑定的任何控件中指定文本字段和值字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      • 2023-03-19
      • 1970-01-01
      相关资源
      最近更新 更多