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

本文关键字:检索 一列 C#MySQL | 更新日期: 2023-09-27 18:22:24

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

我一直在做一些研究,但我找不到合适的关键词来找到我想做的事情。我希望能够获取名称值(也就是说…"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);

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

您应该用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();

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

this how id en name pawe

        clsMySQL.sql_con.Open();
        string id = ID;
       
        sql = "SELECT *FROM test";
        cmd = new MySqlCommand(sql, clsMySQL.sql_con);
        
        
        sql_cmd = new MySqlCommand(sql, clsMySQL.sql_con);
        MySqlDataReader dr = cmd.ExecuteReader();
        if (dr.Read())
        {
            id = dr["id"].ToString();
            user = dr["user_name"].ToString();
            pass = dr["password"].ToString();
             
            if (name.Text == user && passw.Text == pass)
            {
                string depart = id;
                Hide();
                MessageBox.Show("it works");
                // Then show the main form
                cracker form = new cracker(name.Text);
                form.sid = depart;
                form.Show();
                MessageBox.Show(ID);
            }
        }
        else
        {
            MessageBox.Show("Invalid Login please check username and password");
        }
        clsMySQL.sql_con.Close();
    }