如果我想从 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/