我有一个有两本表和书籍的数据库。这两个表由两个表中出现的字段AuthorID连接。
书桌(ISBN,书名,作者ID)
作者表(AuthorID,Name)
我有一个表单,它检索BOOK表中的所有信息,我想检索作者名称而不是AuthorID。我想在Visual Studio中创建一个数据绑定源,根据作者ID检索作者姓名值。我编写了sql join查询,但我不知道如何调用在Visual Studio中使用C#进行数据绑定时实现
谢谢
答案 0 :(得分: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
你应该做得好!
答案 1 :(得分:0)
如果我正确理解了这个问题,那么你应该创建一个SQL数据源并使用你为select查询编写的自定义sql语句。
创建sql数据源后,您可以在尝试绑定的任何控件中指定textfield和value字段。