c# - SQL 字符和 C# 之间的转换

标签 c# .net sql-server sql-server-2005

如果我想从 C# 中插入一个 char(2) 类型的数据库列。 我会在 C# 中使用什么数据类型?

如果使用下面的代码:

private static SqlParameter addParameterValue(string parameterName, ? parameterValue, SqlCommand command)
    {
        SqlParameter parameter = new SqlParameter(parameterName, SqlDbType.Char);
        parameter.Value = parameterValue;
        command.Parameters.Add(parameter);
        return parameter;
    }

我应该给 parameterValue 什么类型?

当 parameterValue 是字符串类型时,我已经有了这样的方法,所以在区分 SqlDbType.Char 和 SqlDbType.Varchar 时这可能是个问题

最佳答案

char, varchar, nchar, nvarchar 其实都是字符串

size 有助于确定字符串的长度...

顺便说一句

char 具有固定长度,因此如果您希望在 char(2) 中包含 "1",则内容将是实际的“1”

varchar(2) 将是 "1"

n 部分代表 unicode,因此这些字段中的所有内容都将采用 Unicode。


通常我们使用nvarchar 来节省一些数据空间,就好像您有一个char(250) 数据库将始终保存全长,因为一个空的 varchar(250) 将什么都没有。

然后在我们的编程语言中,我们使用填充来完成 char 所做的事情,例如,在 C# 中

"1".PadLeft(2);
"1".PadRight(2);

将分别输出"1""1"

关于c# - SQL 字符和 C# 之间的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7979219/

相关文章:

c# - Windows Phone ScheduleAgent 在设定的时间段抓取图像

c# - 使用serialport.open()时发生I/O异常错误

.net - VSTO 与主要互操作程序集,有什么区别?

c# - 使用 Asp.net 在数据库表中插入数据

java - 数据类型 varchar(max) 和 text 在等于运算符中不兼容。在SQL Server2005中怎么解决?

c# - 连接失败后 FtpWebRequest 不继续

c# - 线程和返回值

c# - 如何在不将整个文件加载到内存的情况下更新 xml 文件

c# - 如何检查 dll 是否为 .net 库 "The module was expected to contain an assembly manifest."

sql-server - 使用 SQL 数据库进行 Azure Active Directory 身份验证