C# 找不到列

C# 找不到列,c#,mysql,sql,.net,C#,Mysql,Sql,.net,为什么下面的陈述会变成错误 static void Main(string[] args) { string connString = "Server=localhost;Port=3306;Database=connection;Uid=root;password=;"; MySqlConnection conn = new MySqlConnection(connString); MySqlCommand command = c

为什么下面的陈述会变成错误

    static void Main(string[] args)
    {
        string connString = "Server=localhost;Port=3306;Database=connection;Uid=root;password=;";
        MySqlConnection conn = new MySqlConnection(connString);
        MySqlCommand command = conn.CreateCommand();
        command.CommandText = "Select number from user where id=1";
        try
        {
            conn.Open();
        }
        catch (Exception ex) {
            Console.WriteLine(ex.Message);
        }
        MySqlDataReader reader = command.ExecuteReader();
        while (reader.Read())
        {
            Console.WriteLine(reader["text"].ToString());

        }
        Console.ReadLine();
    }
这是我的数据库: 数据库名称:连接 表名:用户

number: 18.81
id: 1

您当前正在从数据库中仅选择
number
字段,但正在尝试从结果集中读取
text
字段。添加
text
字段以选择语句(若要从数据库获取文本):

或者从结果集中读取
number
(如果您描述的表结构正确,我认为您需要此解决方案):


使用参数化查询您的查询对SQL注入开放

在sql select语句中,从id=1的用户中选择数字,但在读卡器中,您试图访问错误的文本,请尝试此代码

static void Main(string[] args)
{
    string connString = "Server=localhost;Port=3306;Database=connection;Uid=root;password=;";
    MySqlConnection conn = new MySqlConnection(connString);
    MySqlCommand command = conn.CreateCommand();
    command.CommandText = "Select number from user where id=@Id";
    command.Parameters.Add("@Id", SqlDbType.Int);
    command.Parameters["@Id"].Value = 1;
    try
    {
        conn.Open();
    }
    catch (Exception ex) {
        Console.WriteLine(ex.Message);
    }
    MySqlDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
        Console.WriteLine(reader["number"].ToString());

    }
    Console.ReadLine();
}

加载名为number的列,然后搜索名为text的列?但是我不明白返回FALSE的语句是什么。与现在一样,或者您没有ID=1的任何记录,或者此代码将在读取[“text”]代码时引发异常。
Console.WriteLine(reader["number"].ToString());
static void Main(string[] args)
{
    string connString = "Server=localhost;Port=3306;Database=connection;Uid=root;password=;";
    MySqlConnection conn = new MySqlConnection(connString);
    MySqlCommand command = conn.CreateCommand();
    command.CommandText = "Select number from user where id=@Id";
    command.Parameters.Add("@Id", SqlDbType.Int);
    command.Parameters["@Id"].Value = 1;
    try
    {
        conn.Open();
    }
    catch (Exception ex) {
        Console.WriteLine(ex.Message);
    }
    MySqlDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
        Console.WriteLine(reader["number"].ToString());

    }
    Console.ReadLine();
}