早上好,
我周末一直在学习MVC .NET,我正试图从数据库中获取数据,但结果没有显示:
我使用以下代码:
class ViewController: UIViewController {
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
// The next line is the crucial part
// The action is where Swift 3 varies from previous versions
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tap(gesture:)))
self.view.addGestureRecognizer(tapGesture)
}
func tap(gesture: UITapGestureRecognizer) {
textField.resignFirstResponder()
}
}
出于某种原因,我得到了这个结果:
现在值得注意的是,据我所知,由于字段不匹配,我的ID号为“0”,我不明白为什么我无法显示多个结果。
提前致谢!
答案 0 :(得分:1)
您实际上并未阅读查询返回的所有结果。 NextResult()返回下一个结果集,而不是下一个记录。用Read()替换它,你应该开始得到所有的结果。
我还会删除Try / Catch循环,因为这会阻止您看到任何确实发生的错误。另外,Read会返回true / false,让您知道它是否读取了记录,或者不会轻易消除它。
while (Reader.Read())
{
try
{
iname = Reader["FirstName"].ToString();
isurname = Reader["Surname"].ToString();
int.TryParse(Reader["IDNumber"].ToString(), out iIDNO);
models.Add(new ListClients
{
Name = iname,
Surname = isurname,
IDNO = iIDNO
});
}
我还建议您查看如何使用using语句(https://msdn.microsoft.com/en-us/library/yh598w02.aspx)来改进连接和数据读取器的处理。