Reader 只有 select 来自 MySQL 数据库的空字段 - 错误消息:值不能为 NULL 参数:项目

Reader only select empty Fields from MySQL-Database - Error Message: The Value cannot be NULL Paramter: Item

如果我尝试从 MySQL 数据库 select 数据库,我会收到一条错误消息:值不能为 NULL。参数:item(德语:Der Wert darf nicht NULL sein。参数:item)所以这意味着 Reader 只有 select 空字段 - 他 "selects NULL" - 但字段在我的 SQL-数据库。

private: void Fillcombo(void) {

String^ constring = L"datasource=localhost;port=3306;username=root;password=ichstinkenachmaggie";
MySqlConnection^ conDataBase = gcnew MySqlConnection(constring);
MySqlCommand^ cmdDataBase = gcnew MySqlCommand("select rank from database.ranks;", conDataBase);
MySqlDataReader^ myReader;

try {

    conDataBase->Open();
    myReader = cmdDataBase->ExecuteReader();
    while (myReader->Read()) {
        String^ vRank;
        myReader->GetString("rank");
        rank_combo->Items->Add(vRank);

    }

    }
catch (Exception^ex) {

    MessageBox::Show(ex->Message);

}

}

如果替换行:

rank_combo->Items->Add(vRank);

有了这个:

rank_combo->Items->Add(vRank + "*****");

然后我没有得到错误但是在组合框中只有 4 行 5 ***** :(

您从未将变量 vRank 初始化为任何值,当然它仍然是 null。你是不是忘了把GetString的结果赋值给vRank

while (myReader->Read()) {
    String^ vRank;
    vRank = myReader->GetString("rank");
    ^^^^^^^^