[哭]使用Data Access 2 插入Ntext类型数据时SqlParameter不指定类型的问题 , ,请为我解惑
实在郁闷 ,请大家为我解惑。
同发csdn:http://community.csdn.net/Expert/topic/4315/4315539.xml?temp=.3931848
原来的代码
FullyQualifiedSprocName("P_InsertNtextData"),
new SqlParameter("@Id", f.Id),
new SqlParameter("@NtextData",f.Data));
---------------------------
---------------------------
当前命令发生了严重错误。应放弃任何可能产生的结果。
---------------------------
确定
---------------------------
---------------------------
---------------------------
常规网络错误。请检查您的网络文档。
---------------------------
确定
---------------------------
Google baidu 都翻了个底朝天,也没个能安慰我的信息。
试验了一下午,最后试出来写个测试字符串"aaaa"就能插入
尝试了如下代码
ntext.Value = f.Data;
SqlHelper.ExecuteNonQuery(connectionString, CommandType.StoredProcedure,
FullyQualifiedSprocName("P_InsertNtextData"),
new SqlParameter("@Id", f.Id),
ntext);
成功,怎么也想不通这换汤不换药的方法为何能够成功,
翻msdn,
打自己一巴掌
[Visual Basic]
Public Property SqlDbType As SqlDbType
[C#]
public SqlDbType SqlDbType {get; set;}
属性值
SqlDbType 值之一。默认值为 NVarChar。
然而我又看到另外一个构造器的重载这样说明
Public Sub New( _
ByVal parameterName As String, _
ByVal value As Object _
)
[C#]
public SqlParameter(
string parameterName,
object value
);
参数
parameterName
要映射的参数的名称。
value
一个 Object,它是 SqlParameter 的值。
备注
当在 value 参数中指定 Object 时,SqlDbType 将从 Object 的 .NET Framework 类型推断出。
这又如何解释??