用
SqlParameter[] parameters =
{
new SqlParameter("@ID", SqlDbType.BigInt,19,ParameterDirection.Input,false,0,0,"",DataRowVersion.Current,model.ID)//编码
....
}
声明并赋值的语句在执行时发生异常,错误信息为:
System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
而用
SqlParameter[] parameters =
{
new SqlParameter("@ID", SqlDbType.BigInt,19)//编码
....
};
parameters[0].Value = model.ID;//编码
声明并赋值的就没问题。
跟踪parameters发现并无区别,请问是怎么回事呀,关键是用下面的方法,修改时太难受了!
SqlParameter[] parameters =
{
new SqlParameter("@ID", SqlDbType.BigInt,19,ParameterDirection.Input,false,0,0,"",DataRowVersion.Current,model.ID)//编码
....
}
声明并赋值的语句在执行时发生异常,错误信息为:
System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
而用
SqlParameter[] parameters =
{
new SqlParameter("@ID", SqlDbType.BigInt,19)//编码
....
};
parameters[0].Value = model.ID;//编码
声明并赋值的就没问题。
跟踪parameters发现并无区别,请问是怎么回事呀,关键是用下面的方法,修改时太难受了!
用
SqlParameter[] parameters =
{
new SqlParameter("@ID", model.ID)//编码
....
}
重新试试,看什么结果
{
new SqlParameter("@ID", model.ID)//编码
....
}
果然好用,一下子就都过去了,只是类型都是nvarchar了,不过没关系,实际上对了就行。
ms推荐的方法害死人啊
SqlParameter[] parameters =
{
new SqlParameter("@ID", SqlDbType.BigInt,19)//编码
....
};
parameters[0].Value = model.ID;//编码
和
SqlParameter[] parameters =
{
new SqlParameter("@ID", model.ID)//编码
....
}
都没任何问题,而是采用
SqlParameter[] parameters =
{
new SqlParameter("@ID", SqlDbType.BigInt,19,ParameterDirection.Input,false,0,0,"",DataRowVersion.Current,model.ID)//编码
....
}
就出错了呢?
虽然问题好像已经解决,但是原因是什么还是不清楚,哪位知道的指点一下吧