C# MySQL 从与另一个匹配的列中检索值

标签 c# mysql datareader

所以我有一个包含以下列的表格: ID、姓名、地址等。

我一直在做一些研究,但我找不到正确的关键字来找出我想做的事情。我希望能够获取名称值(也就是说......“John Doe”肯定已经在数据库中......)并检索它的ID(从int MySQL值ID)。

我遇到了以下代码,但我似乎无法弄清楚如何扩展其限制以满足我的需求。

  connection2.Open();
        cmd.ExecuteNonQuery();
        try
        {
            MySqlDataReader myReader = cmd.ExecuteReader();
            while (myReader.Read())
            {
                Console.WriteLine(myReader.GetString(myReader.GetOrdinal("id")));
            }
            myReader.Close();
        }
        finally
        {
            connection2.Close();
        } 

这也是我尽力想出来的。

        MySqlConnection connection2 = new MySqlConnection("Server=" + server + ";" + "Port=" + port + ";" + "Database=" + database + ";" + "Uid=" + uid + ";" + "Password=" + password + ";");
        string query = @"SELECT id FROM caregiverdatabse WHERE name Like '%" + caregiverNameDisp.Text + "%'";
        MySqlCommand cmd = new MySqlCommand(query, connection2);

最佳答案

您应该用 sql 参数替换硬编码参数,但这里是您需要在此处执行的操作的一般概念。使用您当前的 sql 查询。

    MySqlConnection sqlConn = new MySqlConnection();
    MySqlCommand sqlCmd = new MySqlCommand();
    string sSql = "SELECT id FROM caregiverdatabse WHERE name Like '%" + caregiverNameDisp.Text + "%'";
    sqlConn.ConnectionString = "Server=" + server + ";" + "Port=" + port + ";" + "Database=" + database + ";" + "Uid=" + uid + ";" + "Password=" + password + ";";
    sqlCmd.CommandText = sSql;
    sqlCmd.CommandType = CommandType.Text;
    sqlConn.Open();
    sqlCmd.Connection = sqlConn;
    MySqlDataReader reader = sqlCmd.ExecuteReader();
    List<string> results = new List<string>();

    while (reader.Read())
    {

        results.Add((reader["id"].ToString());

    }

    reader.Close();
    sqlConn.Close();

请记住,您可以将读取器结果添加到字符串、上面的列表中,无论您想用它做什么。

关于C# MySQL 从与另一个匹配的列中检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17636266/

相关文章:

c# - 可以编译为 DLL 并可以在 Linux Web 服务器后端使用的现代语言?

c# - 剪刀石头布游戏——一个人连赢三场怎么结束?

c# - 在 C# 中处理 DBNull

c# - 如何将新行添加到由 IDataReader 填充的表中?

c# - 检查 DataReader 是否为空

c# - 如何在当前版本的 Roslyn 中获取 SyntaxToken.Kind?

c# - 如何以面向 future 的方式从 SPA 正确获取 IDS4 中的 token ?

mysql - 在MySQL中获取一个人的年龄

php - 在 SELECT 语句中返回嵌套的行数组?

html - HTML 格式中出现的特殊字符