c# - 如何在 C# 中将 nchar 转换为字符串?

标签 c# sql-server visual-studio-2010 tostring

如果这个问题已经被问过和回答过,请原谅我。我只是花了一些时间搜索我的问题,但似乎找不到。

无论如何,我在 Visual Studio 2010 和 MS SQL Server 中工作。我已经创建了数据库,现在我只是在处理前端的事情。无论如何,通过我的搜索,我发现 nchar 不是 C# 数据类型,这很好,但它似乎不会为我将其转换为字符串。

Convert.ToString(reader["SerialNum"].ToString().Trim());

这是给我一个错误的部分。它说“无法将‘string’隐式转换为‘int’。”

有人知道解决整个 nchar 问题的方法吗?

提前致谢!

艾莉

[编辑]: 所以这就是整个方法...虽然我认为这里的任何其他内容都不会真正有帮助。

private Row PopulateRow(SqlDataReader pReader)
    {
        Row CurrentRow = new Row();
        CurrentRow.sTransNum = Convert.ToInt32(reader["STransNum"].ToString().Trim());
        CurrentRow.serialNum = Convert.ToString(reader["SerialNum"].ToString().Trim());
        CurrentRow.itemTypeID = Convert.ToInt32(reader["ItemTypeID"].ToString().Trim());
        CurrentRow.fromLocation = Convert.ToInt32(reader["FromLocation"].ToString().Trim());
        CurrentRow.toLocation = Convert.ToInt32(reader["toLocation"].ToString().Trim());
        CurrentRow.units = Convert.ToInt32(reader["Units"].ToString().Trim());
        CurrentRow.serialMoveDate = Convert.ToDateTime(reader["SerialMoveDate"].ToString().Trim());
        CurrentRow.moveTypeID = Convert.ToInt32(reader["MoveTypeID"].ToString().Trim());
        CurrentKey.sTransNum = CurrentRow.sTransNum;
        CurrentRow.CompleteState = "OK";
        return CurrentRow;
    }

最佳答案

可能应该使用 reader.GetString(ordinal)

reader.GetString(reader.GetOrdinal("SerialNum"))

如果结果中的值可以为空,则使用 reader.IsDbNull(ordinal)

int ordinal = reader.GetOrdinal("SerialNum");
serial = reader.IsDbNull(ordinal) ? null : reader.GetString(ordinal);

关于c# - 如何在 C# 中将 nchar 转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10248238/

相关文章:

c# - 如何在 Windows 10 上安装 GCC 以便在 VS2017 中使用

C# get 属性返回错误的整数

c# - 在 C# web api 上进行用户身份验证的最佳做法是什么?

c# - Datagridview 不显示任何内容,既没有列标题也没有数据

c++ - 使用 C 和 C++ 代码在 C++ 项目中编译错误

c# - 多列 TreeView

sql-server - 数据库 Access 控制: Application or Database level control?

c# - 如何监听 SQL Server 数据库更改

sql-server - 二级Top N SQL服务器

visual-studio-2010 - VS2010 安装项目 : Can't create shortcut