首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于asp.net内核的Mysql数据库查询

基于asp.net内核的Mysql数据库查询
EN

Stack Overflow用户
提问于 2019-07-30 17:09:55
回答 1查看 476关注 0票数 0

我需要查询数据库。这个查询工作正常,但我需要循环读取表中的所有数据。我不知道如何在这个查询中放入"do“或"while”

代码语言:javascript
复制
[HttpPost]
public IActionResult SendMessage(string send_to, string message, string phone)
{
    var email = HttpContext.Session.GetString("email");
    MySqlDataReader reader;           
    try
    {
        cmdMySQL.Connection = conMySQL;
        conMySQL.Open();
        cmdMySQL.CommandText = "SELECT * FROM tbl_mensagens WHERE enviado = '" + 0 + "' AND email_usuario = '" + email + "' ";
        reader = cmdMySQL.ExecuteReader();       
        while (reader.Read())
        {
            var codmsgx ="";
            phone = "";
            message = "";        
            codmsgx = reader[0].ToString();
            phone = reader[4].ToString();
            message = reader[5].ToString();
            EnviarMensagem(send_to, message, phone, email, codmsgx);
            AtualizarBd(send_to, message, phone, email, codmsgx);
        }
        reader.Close();           
        return View();
    }
    catch (Exception ex) { Debug.WriteLine(ex); return View(); }
    finally
    {
        conMySQL.Close();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-07-31 11:22:23

您只得到一行,因为您调用的是reader.Read()。每次调用Read()时,读取器前进到下一行并返回true;或者,当读取器前进到最后一行时,它返回false。

假设您有一个视图模型:

代码语言:javascript
复制
public class MensagensViewModel
{
    public string Codmsgx { get; set; }
    public string Phone { get; set; }
    public string Message { get; set; }
}

要从tbl_mensagens表中获取List<MensagensViewModel>数据,需要手动将访问的数据保存到mensagens中,代码如下:

代码语言:javascript
复制
try
    {
        cmdMySQL.Connection = conMySQL;             
        cmdMySQL.CommandText = "SELECT * FROM tbl_mensagens WHERE enviado = '" + 0 + "' AND email_usuario = '" + email + "' ";
        conMySQL.Open();
        reader = cmdMySQL.ExecuteReader();

        List<MensagensViewModel> mensagens = new List<MensagensViewModel>();//To save all retrieved data
        while (reader.Read())
        {
            var mensagen = new MensagensViewModel()
                {
                    Codmsgx = reader[0].ToString(),
                    Phone = reader[4].ToString(),
                    Message = reader[5].ToString()
                };

            mensagens.Add(mensagen);
            //other logic                 

        }
        reader.Close();
        return View();
    }
    catch (Exception ex) { Debug.WriteLine(ex); return View(); }
    finally
    {
        conMySQL.Close();
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57268106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档