|
如题
sql 中 存储过程
Proc ZXL_DZT_KMYEB(@ZTNUM VARCHAR(100)='503,504,505,',@DBYEAR VARCHAR(4)='2003',@iPer1 varchar(10)='1',@iPer2 varchar(10)='6',
@c_code1 varchar(60)='1101',@c_code2 varchar(60)='2501zz' ) AS
x3 中代码
//存储过程传递参数,并打开
DataSetCCGCSJJ1.StoredProcName := 'dbo.ZXL_DZT_KMYEB'; //定义存储过程名称
DataSetCCGCSJJ1.Params.Clear;
lDataParam1 := DataSetCCGCSJJ1.Params.CreateParam(TFieldType.ftInteger, 'Result', TParamType.ptResult);
lDataParam1 := DataSetCCGCSJJ1.Params.CreateParam(TFieldType.ftdate, '@ztnum', TParamType.ptInput); //定义 参数1
lDataParam1.AsString := txt_zt.text ; //传入参数1 帐套号
lDataParam2 := DataSetCCGCSJJ1.Params.CreateParam(TFieldType.ftdate, '@DBYEAR', TParamType.ptInput); //定义 参数2
lDataParam2.AsString :=txt_year.Text ; //传入参数2 数据年度
lDataParam3 := DataSetCCGCSJJ1.Params.CreateParam(TFieldType.ftdate, '@iPer1', TParamType.ptInput); //定义 参数2
lDataParam3.AsString :=txt_iperiod1.Text ; //传入参数3 开始月份
lDataParam4 := DataSetCCGCSJJ1.Params.CreateParam(TFieldType.ftdate, '@iPer2', TParamType.ptInput); //定义 参数2
lDataParam4.AsString :=txt_iperiod2.Text ; //传入参数4 终止月份
lDataParam5 := DataSetCCGCSJJ1.Params.CreateParam(TFieldType.ftdate, '@c_code1', TParamType.ptInput); //定义 参数2
lDataParam5.AsString :=txt_code1.Text ; //传入参数5 科目1
lDataParam6 := DataSetCCGCSJJ1.Params.CreateParam(TFieldType.ftdate, '@c_code1', TParamType.ptInput); //定义 参数2
lDataParam6.AsString :=txt_code2.Text ; //传入参数6 科目2
DataSetCCGCSJJ1.Close();
DataGrid.DataSource :=DataSource1;
DataSetCCGCSJJ1.Open(); //这句出错
提示:执行取数据时出现错误parameter #7 has not been set 类型:EOleException
存储过程只有6个参数,在sql 中测试过,可以不带参数运行 |
|