简体   繁体   English

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

[英]C# ASP.NET Selecting multiple column from same mysql command and use them in code behind

I woul make this thing: 我会做这件事:

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

and then use the value in "nome" and the value in "cognome" in code behind. 然后在后面的代码中使用“ nome”中的值和“ cognome”中的值。 With PHP there are associative array, in C# ASP.NET? 与PHP有关联数组,在C#ASP.NET中?
'till now I have always used two different commands, but now it's annoying. 到目前为止,我一直使用两个不同的命令,但是现在很烦人。
example: 例:

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());

Can you help me? 你能帮助我吗?
Thanks before, 以前谢谢
Daniele 丹尼尔

Simple usage: 简单用法:

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"];
   }
}

You may try this : 您可以尝试以下方法:

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();
}
}

You must check if the DataReader has rows to avoid exception and finally don't forget to close it 您必须检查DataReader是否有行以避免异常,最后不要忘记关闭它

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 ASP.NET C#从Code Behind设置OnSelectedIndexChanged - ASP.NET C# Set OnSelectedIndexChanged from Code Behind c#从asp.net页面访问背后的代码 - c# Code behind access from asp.net page 如何从C#中ASP.NET中的背后代码以多选模式检索绑定的列表框? - How to retrieve binded listbox in multiple selection mode from code behind in ASP.NET in C#? 如何授予动态创建的文件夹的权限,以便从背后的C#代码在asp.net中将文件保存在其中? - How to give permission to dynamically created folders to save files in them in asp.net from c# code behind? C#ASP.NET使用来自ASP.NET背后代码的布尔变量 - C# ASP.NET using Boolean variable from code behind in ASP.NET asp.net c#中的mysql命令 - Mysql command in asp.net c# C#ASP.net如何从后面的代码访问新类,而不是保留在APP_CODE中,而是与后面的代码保留在同一文件夹中 - C# ASP.net How to access new classes from code behind, not kept in APP_CODE, but kept in same folder as code behind 如何使用来自同一ASP.NET Core C#代码的不同数据库(SQL Server,Oracle) - How to use different databases (SQL Server, Oracle) from the same ASP.NET Core C# code 设置文字 <p> 从c#asp.net中的代码嵌入在asp:Panel中 - Set text in <p> embedded in asp:Panel from code behind c# asp.net 有没有更好的方法呢? ASP.NET / C #/Code背后 - Is there a better way of doing this? ASP.NET/C#/Code Behind
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM