dm.spSend.ProcedureName:='dt_SendParent;1';
dm.spSend.Parameters.Refresh;
dm.spSend.Parameters.ParamByName('@ParentId').value:= 0;
dm.spSend.parameters.ParamByName('@ModuleId').value:= Id;
dm.spSend.parameters.ParamByName('@tag').value:=CategoryListTag[i];
dm.spSend.parameters.ParambyName('@CapName').value:= CategoryList[i];
dm.spSend.parameters.parambyName('@MenuName').value:= CategoryList[i];
dm.spSend.Prepared:= true;
dm.spSend.ExecProc;
sParentId:= dm.spSend.Parameters.ParamByName('@ParentId').value;
其中@parentid在存储过程里定义成output类型的
dm.spSend.Parameters.Refresh;
dm.spSend.Parameters.ParamByName('@ParentId').value:= 0;
dm.spSend.parameters.ParamByName('@ModuleId').value:= Id;
dm.spSend.parameters.ParamByName('@tag').value:=CategoryListTag[i];
dm.spSend.parameters.ParambyName('@CapName').value:= CategoryList[i];
dm.spSend.parameters.parambyName('@MenuName').value:= CategoryList[i];
dm.spSend.Prepared:= true;
dm.spSend.ExecProc;
sParentId:= dm.spSend.Parameters.ParamByName('@ParentId').value;
其中@parentid在存储过程里定义成output类型的
解决方案 »
- ClientSocket 通讯控件问题
- 使用OpenPictureDialog1控件打开某些图片时候会報"Unknown picture file extension(.png)"的錯誤
- form失去焦点,按键不可用?
- 高手请进!如何获得本地的Microsoft OLE DB Provider for SQL Server的版本
- 请问谁用过Delphi+Indy开发过Mail Server?
- 怎样用最快的办法在大文件的某部分插入数据??
- 关于ADOTable和DBGrid组件的问题?
- Delphi编程中关于SQL语言和动态数组的问题
- delphi 里面 那个函数可以把一个按','分割的字符串 放到一个数组里
- delphi 使用sdac数据库连接组件 cxgrid 通过事物删除数据失败
- *调查*星爷们、高手们、前辈们:初学编程经历、方法及感受!顺便散散分?!?!?!...
- 高分求教,剪切板问题。快速散分!
每次执次到dm.spsend.execproc这句时就出错
'Access violation at address 753c9e12 in module'sqloledb.dll'.read of address
00000018'.process stopped.use step or run to continue
MyStoredproc:TStoredproc;
i:integer;
p1,p2:Tparam;
begin
MyStoredproc := TStoredproc.Create(self);
MyStoredproc.Name := 'Storedproc1';
MyStoredproc.SessionName := 'Default';
MyStoredproc.DatabaseName := DatabaseName;
MyStoredproc.StoredProcName := 'Get_only_user_right';
MyStoredproc.Params.Clear;
p1 := TParam.Create(MyStoredproc.Params,ptInput);
p1 := TParam.Create(MyStoredproc.Params,ptInput);
p2 := TParam.Create(MyStoredproc.Params,ptOutput);
MyStoredproc.Params[0].Name := '@UserID';
MyStoredproc.Params[1].Name := '@RightID';
MyStoredproc.Params[2].Name := '@retval';
MyStoredproc.Params[0].AsInteger := UserID;
MyStoredproc.Params[1].AsInteger := rightId;
MyStoredproc.Params[2].AsInteger := 0;
MyStoredproc.ExecProc;
i := MyStoredproc.Params[2].AsInteger;
p1.Free;
p2.Free;
MyStoredproc.Free;
end;
这句也没必要啊