不能将对象转换为字符串

本文关键字:字符串 转换 对象 不能 | 更新日期: 2023-09-27 18:16:13

我使用AES加密了MS Access文件中的每个项目。加密工作很好。问题是,我得到一个错误:Argument 1: cannot convert from 'object' to 'string'在这样的行:security.Decrypt(readPersonalData.GetValue(1), storedAuth.Password, storedAuth.UserName)

我怎样才能避免这种情况?

        if (readPersonalData.HasRows)
        {
            while (readPersonalData.Read())
            {
                // Count all entries read from the reader.
                countEntries++;

                txtDisplay.Text += "=== Entry ID: " + readPersonalData.GetValue(0) + " ===" + Environment.NewLine;
                txtDisplay.Text += "Type: " + security.Decrypt(readPersonalData.GetValue(1), storedAuth.Password, storedAuth.UserName) + Environment.NewLine;
                if (!readPersonalData.IsDBNull(2)) txtDisplay.Text += "URL: " + security.Decrypt(readPersonalData.GetValue(2), storedAuth.Password, storedAuth.UserName) + Environment.NewLine;
                if (!readPersonalData.IsDBNull(3)) txtDisplay.Text += "Software Name: " + security.Decrypt(readPersonalData.GetValue(3), storedAuth.Password, storedAuth.UserName) + Environment.NewLine;
                if (!readPersonalData.IsDBNull(4)) txtDisplay.Text += "Serial Code: " + security.Decrypt(readPersonalData.GetValue(4), storedAuth.Password, storedAuth.UserName) + Environment.NewLine;
                if (!readPersonalData.IsDBNull(5)) txtDisplay.Text += "User Name: " + security.Decrypt(readPersonalData.GetValue(5), storedAuth.Password, storedAuth.UserName) + Environment.NewLine;
                if (!readPersonalData.IsDBNull(6)) txtDisplay.Text += "Password: " + security.Decrypt(readPersonalData.GetValue(6), storedAuth.Password, storedAuth.UserName) + Environment.NewLine;
                txtDisplay.Text += Environment.NewLine;
            }
        }

不能将对象转换为字符串

你可以试试-

txtDisplay.Text += "Type: " + security.Decrypt(readPersonalData.GetString(1), storedAuth.Password, storedAuth.UserName) + Environment.NewLine;

返回一个可以传递给security.Decrypt函数的字符串