【问题标题】:Why we need to change varchar to string in asp.net?为什么我们需要在 asp.net 中将 varchar 更改为字符串?
【发布时间】:2019-09-15 04:21:26
【问题描述】:

我是 asp.net 的初学者。我很怀疑,我不知道确切的解释。但是我在我的代码中的几个地方使用了这个概念。例如@session["userName"].ToString()

如果有人能说出确切的答案,那将是最有帮助的。

【问题讨论】:

  • 你说的varchar在哪里? @session["userName"] 是对象类型。 AFAIK 在 C# 中没有任何名为 varchar 的东西
  • @SirRufo userName 在我的模型中是字符串数据类型。但它会在我的数据库(sql)中保存为varchar。
  • 您从未在问题中提及任何数据库。您应该将所有相关信息放在问题中并删除所有其他信息。这将有助于澄清您的问题
  • @SirRufo 我在 asp.net 上提到过,我认为 asp.net 专家之一可以通过我的例子抓住我的观点。因此我没有在那里提到我的数据库。
  • @SirRufo asp.net 专家之一 - Mohammad Olfatmiri 很好地回答了我的问题,没有任何澄清。这就是所谓的专家。

标签: asp.net sql-server asp.net-mvc


【解决方案1】:

因为SQL Server Data Type Mappings。请查看链接了解更多信息。

SQL Server 和 .NET Framework 基于不同的类型系统。 例如,.NET Framework Decimal 结构具有最大比例 28,而 SQL Server 十进制和数字数据类型具有 最大刻度为 38。读取时保持数据完整性和 写入数据时,SqlDataReader 公开 SQL Server 特定的类型 也返回 System.Data.SqlTypes 对象的访问器方法 作为返回 .NET Framework 类型的访问器方法。两个 SQL Server 类型和 .NET Framework 类型也由枚举表示 DbType 和 SqlDbType 类,可以在指定时使用 SqlParameter 数据类型。

【讨论】:

  • 赞成,但如果引用是关于 varchars 和字符串的,你的答案会更好。 (如果该文档中存在这样的引用。)
【解决方案2】:

请参阅此Link,它将为您的问题提供答案。此外,列类型 nvarchar 允许您存储 Unicode 字符,但 varchar 不是这样。

【讨论】:

    猜你喜欢
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多