这样的sql语句有错嘛?没错那么这样调用对嘛?
我要计算一个总数,修理费=修理小时*修理小时工资,其中修理小时在本对话框中有,修理小时工资要去员工表找
CREATE PROCEDURE dbo.Z3prifix_1
(
@hid_fix_dan int,
@hpri_fix float output
)
AS
select @hpri_fix = hfix_time * (SELECT dbo.Z2.gpay_hour
FROM dbo.Z3 INNER JOIN
dbo.Z2 ON dbo.Z3.hid_no = dbo.Z2.gid_no)
from Z3
where hid_fix_dan = @hid_fix_dan
return
GO
public string priFix(int hid_fix_dan)
{//统计修理费
SqlCommand priFix = new SqlCommand();
priFix.Connection=this.sqlConnection1;
priFix.CommandType=CommandType.StoredProcedure;
priFix.CommandText="dbo.Z3prifix_1";//调用存储过程
SqlParameter parinput=priFix.Parameters.Add("@hid_fix_dan",SqlDbType.Int);
parinput.Direction=ParameterDirection.Input;
parinput.Value=hid_fix_dan;//给参数赋值
SqlParameter paroutput=priFix.Parameters.Add("@hpri_fix",SqlDbType.Float);
paroutput.Direction=ParameterDirection.Output;
try
{
this.sqlConnection1.Open();
priFix.ExecuteNonQuery();
this.sqlConnection1.Close();
return Convert.ToString(paroutput.Value);
}
catch(System.Exception e)
{
Console.WriteLine(e.ToString());
this.sqlConnection1.Close();
}
return null;
}
现在catch说:{"hpri_part 不是过程 Z3pripart_1 的参数。" }
问题点数:50、回复次数:6Top
1 楼cxx1997(小网虫)(最厉害的妖怪))回复于 2005-09-17 14:13:22 得分 10
hpri_part 那里出来的?
奇怪了,你的代码里根本就没有hpri_partTop
2 楼scuthdd()回复于 2005-09-17 14:18:16 得分 0
现在改好拉,但输出不对
是那个@放错啦,哈哈Top
3 楼cxx1997(小网虫)(最厉害的妖怪))回复于 2005-09-17 14:19:17 得分 0
呵呵,改掉就好Top
4 楼scuthdd()回复于 2005-09-17 14:22:16 得分 0
可是输出还是空~~~~catch那没问题啦Top
5 楼cxx1997(小网虫)(最厉害的妖怪))回复于 2005-09-17 14:25:01 得分 20
那说明存储过程确实查不出记录嘛Top
6 楼shadowno(龙门无影)回复于 2005-09-17 22:31:05 得分 20
try 前面+这2行,试试
priFix.Parameters.add(parinput);
priFix.Parameters.add(paroutput);Top




