C# C、 MySql Select语句
我不知道怎么回事,我已经查过其他问题了。 我在文本框中得到以下消息:mysql.data.mysqlclient.mysqlcommandC# C、 MySql Select语句,c#,mysql,select,C#,Mysql,Select,我不知道怎么回事,我已经查过其他问题了。 我在文本框中得到以下消息:mysql.data.mysqlclient.mysqlcommand if (Session["Login"] != null) { string email = (string)Session["Login"]; MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionSt
if (Session["Login"] != null)
{
string email = (string)Session["Login"];
MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["ConnectionStringloginDb"].ConnectionString);
conn.Open();
MySqlCommand getNome = conn.CreateCommand();
getNome.CommandType = CommandType.Text;
getNome.CommandText = "SELECT nome_utente FROM utenti WHERE email = @email";
getNome.Parameters.AddWithValue("@email", email);
getNome.ExecuteNonQuery();
txtNome.Text = getNome.ToString();
conn.Close();
等等。getNome是一个MySqlCommand,它不会覆盖ToString。因此,当您调用getNome.ToString时,将获得完整的类型名。你想要这个:
// getNome.ExecuteNonQuery(); <--- not this
txtNome.Text = (String)getNome.ExecuteScalar(); <--- but this
假定电子邮件是唯一的,getNome是一个MySqlCommand,它不会覆盖ToString。因此,当您调用getNome.ToString时,将获得完整的类型名。你想要这个:
// getNome.ExecuteNonQuery(); <--- not this
txtNome.Text = (String)getNome.ExecuteScalar(); <--- but this
假设电子邮件是唯一的试试看
txtNome.Text = (string)getNome.ExecuteScalar();
试一试
因为您使用的是MySqlCommand类型的.ToString方法,在本例中,该方法返回从objet类型继承的类本身的名称
我建议改用ExecuteScalar方法。因为您使用的是MySqlCommand类型的.ToString方法,在本例中,该方法返回从objet类型继承的类本身的名称
我建议改为使用ExecuteScalar方法。您需要将.SingleOrDefault添加到getNome.SingleOrDefault.ToString或甚至ExecuteScalar的末尾,具体取决于您需要添加的内容。您需要将.SingleOrDefault添加到getNome.SingleOrDefault.ToString的末尾,甚至是ExecuteScalar,具体取决于您需要添加的内容,显然,你不能用同一封电子邮件多次在网站上注册是的,显然你不能用同一封电子邮件多次在网站上注册