如果我想从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的类型为string时,我已经有这样的方法,所以当告诉SqlDbType.Char和SqlDbType.Varchar
之间的区别时,这可能是个问题。答案 0 :(得分:7)
char
,varchar
,nchar
,nvarchar
实际上是字符串
size
有助于确定字符串的持续时间......
顺便说一下
char
具有固定长度,因此如果您想在"1"
中使用char(2)
,则内容将是实际"1 "
varchar(2)
将为"1"
n
部分代表unicode,因此这些字段中的所有内容都将使用Unicode。
通常我们使用nvarchar
来保存数据上的一些空间,就像你有一个char(250)
数据库将始终保存全长一样,空varchar(250)
1}}什么都不会。
在我们的编程语言中,我们使用填充来执行char
所做的事情,例如,在C#中
"1".PadLeft(2);
"1".PadRight(2);
将分别输出" 1"
和"1 "
。
答案 1 :(得分:4)
string
如果是2个字符或更短,则可以正常工作
答案 2 :(得分:1)
尝试使用AddWithValue方法并将其分为字符串
它只是一行。无需单独的方法。
command.Parameters.AddWithValue(parameterName, parameterValue);