SQL数据库的MVC多重结果无法正常工作

时间:2017-01-16 06:35:18

标签: c# sql .net model-view-controller

早上好,

我周末一直在学习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()
    }
}

出于某种原因,我得到了这个结果:

MVC Client results

现在值得注意的是,据我所知,由于字段不匹配,我的ID号为“0”,我不明白为什么我无法显示多个结果。

提前致谢!

1 个答案:

答案 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)来改进连接和数据读取器的处理。