我项目中 UI 调用 类库中的方法调用存储过程时候 总是报一个莫名其妙的错误代码如下!页面中的调用
SqlConnection cn=new SqlConnection(Connections.scon_Talkonline);
cn.Open();
SqlTransaction tran=cn.BeginTransaction();
OnlineModuleLib.PointChange p = new PointChange();
p.t_AddPointChange("A000080", 1, "7788520", "-" + 20, 20, "", "系统操作", DateTime.Now, "在线预约");
tran.Rollback();类库中的方法
public bool t_TransAddPointChange(string MemberId, int ChangeType, string RelationId, string PointsChange, decimal SurplusPoints,string Money, string Operator, DateTime DateChanged, string Re, SqlTransaction tran)
{
string SP_INSERT = "dbo.sp_AddPointChange";
try
{
object[] param = new object[9];
param[0] = MemberId;
param[1] = ChangeType;
param[2] = RelationId;
param[3] = PointsChange;
param[4] = SurplusPoints;
param[5] = Money;
param[6] = Operator;
param[7] = DateChanged;
param[8] = Re;
return TranSQLHelp.ExecuteNonQuery(tran, SP_INSERT, param) > 0;
}
catch (Exception e)
{
throw e;
}
return true;
}存储过程:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
goALTER PROC [dbo].[sp_AddPointChange]
@MemberId varchar(50),
@ChangeType int,
@RelationId varchar(50),
@PointsChange varchar(50),
@SurplusPoints decimal(10,2),
@Money money,
@Operator varchar(50),
@DateChanged datetime,
@Re Varchar(50)
AS
begin
insert into dbo.T_OL_PointChange(MemberId, ChangeType, RelationId, PointsChange, SurplusPoints,Money, Operator, DateChanged, Re)
values(@MemberId,@ChangeType,@RelationId,@PointsChange,@SurplusPoints,@Money,@Operator,@DateChanged,@Re);
return @@identity --返回最后添加的标识列
end这是建立的一个测试代码
它总是报告string 转换成decimal错误的异常,在我同事那边运行 是没有问题的,而我这里就有,代码 没有问题 检查了N次了
测试存储过程没有任何问题,不知道是什么原因了 ,大家遇到这种情况的说说,解决方案项目依赖了,生成没问题,建立的一个新的类,把类库中的代码放进去,调用也
出现这个问题。。郁闷
SqlConnection cn=new SqlConnection(Connections.scon_Talkonline);
cn.Open();
SqlTransaction tran=cn.BeginTransaction();
OnlineModuleLib.PointChange p = new PointChange();
p.t_AddPointChange("A000080", 1, "7788520", "-" + 20, 20, "", "系统操作", DateTime.Now, "在线预约");
tran.Rollback();类库中的方法
public bool t_TransAddPointChange(string MemberId, int ChangeType, string RelationId, string PointsChange, decimal SurplusPoints,string Money, string Operator, DateTime DateChanged, string Re, SqlTransaction tran)
{
string SP_INSERT = "dbo.sp_AddPointChange";
try
{
object[] param = new object[9];
param[0] = MemberId;
param[1] = ChangeType;
param[2] = RelationId;
param[3] = PointsChange;
param[4] = SurplusPoints;
param[5] = Money;
param[6] = Operator;
param[7] = DateChanged;
param[8] = Re;
return TranSQLHelp.ExecuteNonQuery(tran, SP_INSERT, param) > 0;
}
catch (Exception e)
{
throw e;
}
return true;
}存储过程:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
goALTER PROC [dbo].[sp_AddPointChange]
@MemberId varchar(50),
@ChangeType int,
@RelationId varchar(50),
@PointsChange varchar(50),
@SurplusPoints decimal(10,2),
@Money money,
@Operator varchar(50),
@DateChanged datetime,
@Re Varchar(50)
AS
begin
insert into dbo.T_OL_PointChange(MemberId, ChangeType, RelationId, PointsChange, SurplusPoints,Money, Operator, DateChanged, Re)
values(@MemberId,@ChangeType,@RelationId,@PointsChange,@SurplusPoints,@Money,@Operator,@DateChanged,@Re);
return @@identity --返回最后添加的标识列
end这是建立的一个测试代码
它总是报告string 转换成decimal错误的异常,在我同事那边运行 是没有问题的,而我这里就有,代码 没有问题 检查了N次了
测试存储过程没有任何问题,不知道是什么原因了 ,大家遇到这种情况的说说,解决方案项目依赖了,生成没问题,建立的一个新的类,把类库中的代码放进去,调用也
出现这个问题。。郁闷
SqlConnection cn=new SqlConnection(Connections.scon_Talkonline);
cn.Open();
SqlTransaction tran=cn.BeginTransaction();
OnlineModuleLib.PointChange p = new PointChange();
p.t_AddPointChange("A000080", 1, "7788520", "-" + 20, 20, "", "系统操作", DateTime.Now, "在线预约");
tran.Rollback(); 类库中的方法
public bool t_TransAddPointChange(string MemberId, int ChangeType, string RelationId, string PointsChange, decimal SurplusPoints,string Money, string Operator, DateTime DateChanged, string Re, SqlTransaction tran)
{
string SP_INSERT = "dbo.sp_AddPointChange";
try
{
object[] param = new object[9];
param[0] = MemberId;
param[1] = ChangeType;
param[2] = RelationId;
param[3] = PointsChange;
param[4] = SurplusPoints;
param[5] = Money;
param[6] = Operator;
param[7] = DateChanged;
param[8] = Re;
return TranSQLHelp.ExecuteNonQuery(tran, SP_INSERT, param) > 0;
}
catch (Exception e)
{
throw e;
}
return true;
} --存储过程:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROC [dbo].[sp_AddPointChange]
@MemberId varchar(50),
@ChangeType int,
@RelationId varchar(50),
@PointsChange varchar(50),
@SurplusPoints decimal(10,2),
@Money money,
@Operator varchar(50),
@DateChanged datetime,
@Re Varchar(50)
AS
begin
insert into dbo.T_OL_PointChange(MemberId, ChangeType, RelationId, PointsChange, SurplusPoints,Money, Operator, DateChanged, Re)
values(@MemberId,@ChangeType,@RelationId,@PointsChange,@SurplusPoints,@Money,@Operator,@DateChanged,@Re);
return @@identity --返回最后添加的标识列
end 还是这样看舒服些