这是我的存储过程其中两个参数ALTER PROCEDURE [dbo].[SP_员工每日有效工作统计]
@userId uniqueidentifier,
@ReturnStr decimal(18,2) output
AS在asp.net我调用它们我是这么写的
public decimal VerifyUser(Guid userId)
{
decimal result;
using (SqlConnection sqlconnect = new SqlConnection(ConnectString))
{
SqlCommand sqlcom = new SqlCommand("[dbo].[SP_员工每日有效工作统计] ",sqlconnect);
//sqlcom.CommandType = CommandType.StoredProcedure;
//sqlcom.CommandText = "SP_员工每日有效工作统计";
sqlcom.Parameters.Add(new SqlParameter("@userId");
sqlcom.Parameters.Add(new SqlParameter("@ReturnStr",SqlDbType.Decimal,18,2));
sqlcom.Parameters["@userId"].Value=userId;
sqlcom.Parameters["@ReturnStr"].Direction = ParameterDirection.Output;
sqlconnect.Open();
sqlcom.ExecuteNonQuery();
result = (int)sqlcom.Parameters["@ReturnStr"].Value;
sqlconnect.Close();
return result;
}现在我要问的是 我存储过程里面的 @userId是这种 uniqueidentifier类型
但是我不知道在asp.net程序里的sqlcom.Parameters.Add(new SqlParameter("@userId"))后面的 "@userId"类型应该怎么定义
@userId uniqueidentifier,
@ReturnStr decimal(18,2) output
AS在asp.net我调用它们我是这么写的
public decimal VerifyUser(Guid userId)
{
decimal result;
using (SqlConnection sqlconnect = new SqlConnection(ConnectString))
{
SqlCommand sqlcom = new SqlCommand("[dbo].[SP_员工每日有效工作统计] ",sqlconnect);
//sqlcom.CommandType = CommandType.StoredProcedure;
//sqlcom.CommandText = "SP_员工每日有效工作统计";
sqlcom.Parameters.Add(new SqlParameter("@userId");
sqlcom.Parameters.Add(new SqlParameter("@ReturnStr",SqlDbType.Decimal,18,2));
sqlcom.Parameters["@userId"].Value=userId;
sqlcom.Parameters["@ReturnStr"].Direction = ParameterDirection.Output;
sqlconnect.Open();
sqlcom.ExecuteNonQuery();
result = (int)sqlcom.Parameters["@ReturnStr"].Value;
sqlconnect.Close();
return result;
}现在我要问的是 我存储过程里面的 @userId是这种 uniqueidentifier类型
但是我不知道在asp.net程序里的sqlcom.Parameters.Add(new SqlParameter("@userId"))后面的 "@userId"类型应该怎么定义
"@userId",SqlDbType.UniqueIdentifier);
SqlDbType.UniqueIdentifier
这样试试
你把GUID.ToString(),然后再
sqlcom.Parameters.Add(new sqlParameter(
"@userId",SqlDbType.Varchar(大小));
应该也可以