c# ASP.从同一个mysql命令中选择多个列,并在后面的代码中使用它们

本文关键字:在后面 代码 同一个 ASP mysql 命令 选择 | 更新日期: 2023-09-27 18:15:40

我要做的是:

"select nome,cognome from Utenti where CodiceCliente = @codice"

,然后在代码中使用" name "中的值和"cognome"中的值。与PHP有关联数组,在c# ASP.NET?
到目前为止,我总是使用两个不同的命令,但现在这很烦人。
例子:

MySqlCommand getNome = new MySqlCommand("select Nome from Utenti where CodiceCliente = @codice", userConnection);
    MySqlCommand getCognome = new MySqlCommand("select Cognome from Utenti where CodiceCliente = @codice", userConnection);
    MySqlCommand getEmail = new MySqlCommand("select IndirizzoEmail from Utenti where CodiceCliente = @codice", userConnection);
    getNome.Parameters.AddWithValue("@codice", codice);
    getCognome.Parameters.AddWithValue("@codice", codice);
    getEmail.Parameters.AddWithValue("@codice", codice);
    userConnection.Open();
    string nome = Convert.ToString(getNome.ExecuteScalar());
    string cognome = Convert.ToString(getCognome.ExecuteScalar());
    string email = Convert.ToString(getEmail.ExecuteScalar());

你能帮我吗?
由于之前,
Daniele

c# ASP.从同一个mysql命令中选择多个列,并在后面的代码中使用它们

简单用法:

using(var connection = new MySqlConnection(myConnString))
{
   var cmd = connection.CreateCommand();
   cmd.CommandText = "select nome,cognome from Utenti where CodiceCliente = @codice";
   cmd.Parameters.AddWithValue("@codice", value);
   var reader = cmd.ExecuteReader();
   while(reader.Read())
   {
       // here could be problems if database value is null
       var nome = reader["nome"];
       var cognome = reader["cognome"];
   }
}

你可以试试:

using(var connection = new MySqlConnection(myConnString))
{
   var cmd = connection.CreateCommand();
   cmd.CommandText = "select nome,cognome from Utenti where CodiceCliente = @codice";
   cmd.Parameters.AddWithValue("@codice", value);
   var reader = cmd.ExecuteReader();
  if(reader.HasRows) {
   while(reader.Read())
   {
       var nome = reader[0];
       var cognome = reader[1];
   }
reader.Close();
}
}

您必须检查DataReader是否有行以避免异常,最后不要忘记关闭它