【发布时间】:2016-10-06 01:38:28
【问题描述】:
我正在寻找一种在 Swift 中使用 FMDB 从 7 个不同表中打印出四个特定列的方法。我试过用点符号选择它们,但这似乎不起作用。
数据库看起来像这样:
- 艺术家:[ArtistId],[姓名]
- 曲目:[TrackId]、[AlbumId]、[Name]
- 专辑:[AlbumId]、[Name]、[ArtistId]
- 类型:[GenreId],[名称]
- 发票:[CustomerId]、[InvoiceId]
- InvoiceLine:[InvoiceId]
- 客户:[CustomerId]、[FirstName]、[LastName]、[City]
.
import Foundation
let database = FMDatabase(path: " /path to database.sqlite/ ")
database.open()
let rs = try database.executeQuery("SELECT Artist.Name, Track.Name, Album.Title, Genre.Name
FROM Invoice, Customer, InvoiceLine, Track, Album, Artist, Genre
WHERE Customer.FirstName = 'Michelle'
AND Customer.LastName = 'Brooks'
AND Customer.City = 'New York'
AND Invoice.CustomerId=Customer.CustomerId
AND InvoiceLine.InvoiceId = Invoice.InvoiceId
AND Track.TrackId = InvoiceLine.TrackId
AND Album.AlbumId = Track.AlbumId
AND Artist.ArtistId = Album.ArtistId
AND Genre.GenreId = Track.GenreId ", values: nil)
while rs.next() {
let artistName = rs.stringForColumn("Artist.Name")
let trackName = rs.stringForColumn("Track.Name")
let albumTitle = rs.stringForColumn("Album.Title")
let genre = rs.stringForColumn("Genre.Name")
print (artistName + " " + trackName + " " + albumTitle + " " + genre)
}
【问题讨论】: