谁能给我一个运用存储过程例子

lyl2001 2002-06-22 05:33:34
谁能给我一个运用存储过程例子
...全文
32 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
li_aiwu 2002-06-25
  • 打赏
  • 举报
回复
学习
书生 2002-06-25
  • 打赏
  • 举报
回复
to sncel(地狱情人)

请解释一下原因好吗?用这个有什么弊端?我不太清楚.

恭听指教
sncel 2002-06-22
  • 打赏
  • 举报
回复
不要听上面的,千万不要用StoredProc1来做,用Adoquery做,而且在另一贴里我已有给你代码了。
书生 2002-06-22
  • 打赏
  • 举报
回复
//开始
StoredProc1->Close();
StoredProc1->Params->Clear();
StoredProc1->StoredProcName = "add_oper_sys";//调用存储过程
//创建参数
StoredProc1->Params->CreateParam( ftString, "@password", ptInput );
StoredProc1->Params->CreateParam( ftString, "@opername", ptInput );
StoredProc1->Params->CreateParam( ftInteger, "@opertype", ptInput );
StoredProc1->Params->CreateParam( ftInteger, "@operqx", ptInput );//权限
StoredProc1->Params->CreateParam( ftInteger, "@opersex", ptInput );
StoredProc1->Params->CreateParam( ftString, "@phone", ptInput );
StoredProc1->Params->CreateParam( ftString, "@email", ptInput );
StoredProc1->Params->CreateParam( ftGraphic, "@photo", ptInput );
StoredProc1->Params->CreateParam( ftDateTime, "@born", ptInput );
StoredProc1->Params->CreateParam( ftInteger, "@szdw", ptInput );
StoredProc1->Params->CreateParam( ftString, "@szbm", ptInput );
StoredProc1->Params->CreateParam( ftInteger, "@whcd", ptInput );
StoredProc1->Params->CreateParam( ftInteger, "@zhich", ptInput );
StoredProc1->Params->CreateParam( ftInteger, "@zhiwu", ptInput );
StoredProc1->Params->CreateParam( ftInteger, "@jibie", ptInput );
StoredProc1->Params->CreateParam( ftInteger, "@gzsj", ptInput );
StoredProc1->Params->CreateParam( ftInteger, "@jsjsp", ptInput );
StoredProc1->Params->CreateParam( ftString, "@jszc", ptInput );
StoredProc1->Params->CreateParam( ftString, "@grjl", ptInput );
StoredProc1->Params->CreateParam( ftString, "@dwyj", ptInput );
StoredProc1->Params->CreateParam( ftString, "@jcyj", ptInput );
StoredProc1->Params->CreateParam( ftString, "@remark", ptInput );
StoredProc1->Params->CreateParam( ftInteger, "@djoper", ptInput );
StoredProc1->Params->CreateParam( ftDateTime, "@djtime", ptInput );

StoredProc1->Params->CreateParam( ftInteger, "@opernum", ptOutput );//返回值
StoredProc1->Params->CreateParam( ftInteger, "Result", ptResult );//返回操作状况:0 成功 1失败
//参数创建完毕,开始传递参数
StoredProc1->ParamByName("@password")->AsString = password;//密码
StoredProc1->ParamByName("@opername")->AsString = opername;//姓名
StoredProc1->ParamByName("@opertype")->AsInteger = opertype;//人员类型 1 系统安全员 2 操作人员
StoredProc1->ParamByName("@operqx")->AsInteger = operqxnum;//权限
StoredProc1->ParamByName("@opersex")->AsInteger = opersexnum;//性别
if(phone==""||phone==NULL)
StoredProc1->ParamByName("@phone")->Clear();
else
StoredProc1->ParamByName("@phone")->AsString = phone;//电话
if(email==""||email==NULL)
StoredProc1->ParamByName("@email")->Clear();
else
StoredProc1->ParamByName("@email")->AsString = email;//邮箱
//StoredProc1->ParamByName("@photo")->AsImage = photo;//照片
if (Image1->Picture->Graphic == NULL)
StoredProc1->ParamByName("@photo")->Clear();
else
{
TMemoryStream * pStream = new TMemoryStream();
Image1->Picture->Graphic->SaveToStream(pStream);
StoredProc1->ParamByName("@photo")->LoadFromStream(pStream,ftGraphic);
pStream->Clear();
delete pStream;
pStream = NULL;
}
StoredProc1->ParamByName("@born")->AsDateTime = born;//出生日期
StoredProc1->ParamByName("@szdw")->AsInteger = (int)ComboBox2->Items->Objects[ComboBox2->ItemIndex];//所在单位
if(szbm==""||szbm==NULL)
StoredProc1->ParamByName("@szbm")->Clear();
else
StoredProc1->ParamByName("@szbm")->AsString = szbm;//所在部门
if(ComboBox3->ItemIndex==0)
StoredProc1->ParamByName("@whcd")->Clear(); //文化程度
else
StoredProc1->ParamByName("@whcd")->AsInteger = (int)ComboBox3->Items->Objects[ComboBox3->ItemIndex];//文化程度
if(ComboBox4->ItemIndex==0)
StoredProc1->ParamByName("@zhich")->Clear();//职称
else
StoredProc1->ParamByName("@zhich")->AsInteger= (int)ComboBox4->Items->Objects[ComboBox4->ItemIndex];//职称
if(ComboBox5->ItemIndex==0)
StoredProc1->ParamByName("@zhiwu")->Clear();//职务
else
StoredProc1->ParamByName("@zhiwu")->AsInteger = (int)ComboBox5->Items->Objects[ComboBox5->ItemIndex];//职务
if(ComboBox6->ItemIndex==0)
StoredProc1->ParamByName("@jibie")->Clear();//级别
else
StoredProc1->ParamByName("@jibie")->AsInteger = (int)ComboBox6->Items->Objects[ComboBox6->ItemIndex];//级别
if(gzsj==""||gzsj==NULL)
StoredProc1->ParamByName("@gzsj")->Clear();
else
StoredProc1->ParamByName("@gzsj")->AsInteger = StrToInt(gzsj);//工作时间
if(ComboBox7->ItemIndex==0)
StoredProc1->ParamByName("@jsjsp")->Clear();//计算机水平
else
StoredProc1->ParamByName("@jsjsp")->AsInteger = (int)ComboBox7->Items->Objects[ComboBox7->ItemIndex];//计算机水平
if(jszc==""||jszc==NULL)
StoredProc1->ParamByName("@jszc")->Clear();
else
StoredProc1->ParamByName("@jszc")->AsString = jszc;//技术专长
if(grjl==""||grjl==NULL)
StoredProc1->ParamByName("@grjl")->Clear();
else
StoredProc1->ParamByName("@grjl")->AsString = grjl;//个人简历
if(dwyj==""||dwyj==NULL)
StoredProc1->ParamByName("@dwyj")->Clear();
else
StoredProc1->ParamByName("@dwyj")->AsString = dwyj;//单位意见
if(jcyj==""||jcyj==NULL)
StoredProc1->ParamByName("@jcyj")->Clear();
else
StoredProc1->ParamByName("@jcyj")->AsString = jcyj;//监察意见
if(remark==""||remark==NULL)
StoredProc1->ParamByName("@remark")->Clear();
else
StoredProc1->ParamByName("@remark")->AsString = remark;//备注
StoredProc1->ParamByName("@djoper")->AsInteger = StrToInt(UserName);//登记人员=注册员工
StoredProc1->ParamByName("@djtime")->AsDateTime = djtime;//登记时间
//参数准备完毕,开始启动存储过程
try
{
StoredProc1->ExecProc();
int i_result = StoredProc1->ParamByName( "Result" )->AsInteger;
if(i_result == 0)//增加系统安全员信息成功
{
opernum= IntToStr( StoredProc1->ParamByName( "@opernum" )->AsInteger );
//修改显示
Application->MessageBox("增加系统安全员信息成功!","成功",MB_OK+MB_ICONINFORMATION);
Succeed=true;
}
}
catch(...)
{
....
}

祝你进步。

13,873

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧