我正在我的公司开发一个 C# 应用程序。
该应用程序通过 ADO .Net 使用 SQL Server 数据库。
该应用程序使用 .Net 框架 4 附带的用于 SQL Server 的 ADO .Net 数据提供程序。
以编程方式将字符串插入 varchar 字段时,我们遇到了问题。
例子
让我们考虑名为 MY_TABLE 的数据库表,其中包含以下列:
- MY_FIRST_COL 整数
- MY_SECOND_COL varchar(250)
我通过在 SS Management Studio 中执行以下 SQL 查询将记录 (REC1) 插入到 MY_TABLE 中:
insert into MY_TABLE (1, "");
然后我使用 SSMS 选择 REC1。
然后我复制包含在 MY_SECOND_COL 字段中的字符串。
然后我将字符串粘贴到 Notepad++ 中。
我注意到字符串由 0 个字符组成。
好吧,有道理!
现在,我使用 SqlCommand 对象以编程方式将记录 (REC2) 插入到 MY_TABLE 中。
这是包含在 CommandText 属性中的字符串:
insert into MY_TABLE (@p0, @p1);
以下是与第二个参数对应的 SqlParameter 对象的属性中包含的一些值:
- DbType : System.Data.DbType.AnsiStringFixedLength
- 方向:输入
- IsNullable : 假
- 参数名称:“@p1”
- 精度:0
- 规模:0
- 尺寸 : 0
- SqlDbType : 字符
- 价值 : ””
然后我使用 SSMS 选择 REC2。
然后我复制包含在 MY_SECOND_COL 字段中的字符串。
然后我将字符串粘贴到 Notepad++ 中。
我注意到该字符串由 250 个字符组成。
为什么 ?
任何帮助将不胜感激