*************如何调用一个带有参数的存储过程***************

einsteincao 2004-07-17 04:57:55
存储过程 p_findstore

一个传入参数 @input

一个传出参数 @output

该如何做

能否给出代码..
...全文
274 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
robin0925 2004-08-31
  • 打赏
  • 举报
回复
倒分贴!
lcg200x 2004-07-21
  • 打赏
  • 举报
回复
cn=new SqlConnection (cnString);
cn.Open();
cm=new SqlCommand("sp_decrypt",cn);

cm.CommandType=CommandType.StoredProcedure;
SqlParameter param;
//add the input parameter
param = cm.Parameters.Add("@objectName", SqlDbType.NVarChar, 50);
param.Value =listTable_SP.SelectedItem.Text;


// Add the output parameter.
param = cm.Parameters.Add("@SqlText", SqlDbType.VarChar,4000);
param.Direction = ParameterDirection.Output;

// Execute the command.
cm.ExecuteNonQuery();
补充 lyhold(让你飞) 的代码
object a = cm.Parameters[1].Value;
这样获取输出参数的值。
NetBoyShaB 2004-07-21
  • 打赏
  • 举报
回复
为什么我用Parameter,搞不了呢。
gkwww 2004-07-19
  • 打赏
  • 举报
回复

用SqlParameter 对象,就像上面写的。
lyhold 2004-07-19
  • 打赏
  • 举报
回复
lionlsl(林)
强,delphi的调用例子都贴上!
de
lyhold 2004-07-19
  • 打赏
  • 举报
回复
cn=new SqlConnection (cnString);
cn.Open();
cm=new SqlCommand("sp_decrypt",cn);

cm.CommandType=CommandType.StoredProcedure;
SqlParameter param;
//add the input parameter
param = cm.Parameters.Add("@objectName", SqlDbType.NVarChar, 50);
param.Value =listTable_SP.SelectedItem.Text;


// Add the output parameter.
param = cm.Parameters.Add("@SqlText", SqlDbType.VarChar,4000);
param.Direction = ParameterDirection.Output;

// Execute the command.
cm.ExecuteNonQuery();
李洪喜 2004-07-19
  • 打赏
  • 举报
回复
//创建一个Sql命令对象,用来插入记录
System.Data.OleDb.OleDbCommand mycmd = new System.Data.OleDb.OleDbCommand(updatesql,DB.OleConn());
mycmd.CommandType = CommandType.StoredProcedure;
mycmd.Parameters.Add("@image",System.Data.OleDb.OleDbType.VarBinary);
mycmd.Parameters.Add("@bh",OleDbType.VarChar,20);
mycmd.Parameters.Add("@bh2",System.Data.OleDb.OleDbType.VarChar,20);
mycmd.Parameters.Add("@tbname",System.Data.OleDb.OleDbType.VarChar,50);

mycmd.Parameters["@image"].Value = Content;
mycmd.Parameters["@bh"].Value =bh;
mycmd.Parameters["@bh2"].Value = bh2;
mycmd.Parameters["@tbname"].Value = tbname;
mydelphiworld 2004-07-17
  • 打赏
  • 举报
回复
up
lionlsl 2004-07-17
  • 打赏
  • 举报
回复


//获得员工编号

procedure TfrmEmployee.sbtnCreateEmployeeNoClick(Sender: TObject);
var sYear :string;
begin
inherited;
if trim(dbedtWorkDate.Text) ='' then
begin
application.MessageBox('没有输入工作日期','提示',mb_ok) ;
dbedtWorkDate.SetFocus ;
exit;
end;
sYear := copy(trim(dbedtWorkDate.Text),1,4);
if astpEmployeeNo.Active then astpEmployeeNo.close;
astpEmployeeNo.Parameters.Clear ;

// 调用存储过程 BDE
// astpEmployeeNo.StoredProcName := 'PROEMPLOYEENO';
// astpEmployeeNo.Params.CreateParam(ftString, 'SYEAR', ptInput) ;
// astpEmployeeNo.Params.CreateParam(ftString, 'RETURNEMPLOYEENO', ptOutput) ;

// 调用函数 BDE
// astpEmployeeNo.StoredProcName := 'GETEMPLOYEENO';
// astpEmployeeNo.Params.CreateParam(ftString, 'SYEAR', ptInput) ;
// astpEmployeeNo.Params.CreateParam(ftString, 'RETURN_VALUE', ptResult) ;
// astpEmployeeNo.ParamByName('SYEAR').Value :=sYear ;

// 调用存储过程 ADO
// astpEmployeeNo.ProcedureName :='PROEMPLOYEENO';
// astpEmployeeNo.Parameters.CreateParameter('SYEAR',ftString,pdInput,4,null) ;
// astpEmployeeNo.Parameters.CreateParameter('RETURNEMPLOYEENO',ftString,pdOutput,8,null) ;

// 调用函数 ADO
astpEmployeeNo.ProcedureName :='FUNEMPLOYEENO';
astpEmployeeNo.Parameters.CreateParameter ('Param1',ftString,pdReturnValue,8,null) ;
astpEmployeeNo.Parameters.CreateParameter('SYEAR',ftString,pdInput,4,null) ;
astpEmployeeNo.Parameters.ParamByName('SYEAR').Value := sYear;
try
astpEmployeeNo.ExecProc ;
dbedtEmployeeNo.Text := astpEmployeeNo.Parameters.ParamByName('Param1').Value;
//dbedtNo.Text := astpEmployeeNo.Parameters.ParamByName('RETURNEMPLOYEENO').Value ; //过程调用
except
Application.MessageBox(pchar('产生函数有错,请重试'), '提示', MB_OK);
exit;
end;
end;
希望对你有帮助
einsteincao 2004-07-17
  • 打赏
  • 举报
回复
up
einsteincao 2004-07-17
  • 打赏
  • 举报
回复
如何取得返回的参数

是指在Delphi当中把 @a output 取到啊..

sankis 2004-07-17
  • 打赏
  • 举报
回复
怎么个传出法啊??

返回一个参数????
einsteincao 2004-07-17
  • 打赏
  • 举报
回复
传出参数呢??

SanKis 大哥帮帮忙吧..
sankis 2004-07-17
  • 打赏
  • 举报
回复
close;
commandtext:='execute p_findstore'+Str('@Input')
Execute;
einsteincao 2004-07-17
  • 打赏
  • 举报
回复
不是这个意思

是不是ADOCommand.CommandType := StoreProcedure;
ADOCommand.CommandText := 'p_findstore'

??

传入传出参数如何做呢?
sankis 2004-07-17
  • 打赏
  • 举报
回复
错了。传入的是execute p_findstore @Input
传出的是你在p_findstore中定义的变量,就像@Input一样的用法。
sankis 2004-07-17
  • 打赏
  • 举报
回复
execute p_findstore @output
代码下载地址: https://pan.quark.cn/s/30aac9886e4b 【汉字录入能力评估平台】是中国邮政为了增强员工汉字输入的效率与精确度而研发的一款专业化训练与考核平台。该平台主要面向中国邮政服务窗口工作人员的岗前培训,致力于保障工作人员在实际操作中能够迅速且精准地处理各类文字资料,进而优化邮政服务的效能与品质。文字录入作为邮政作业中的核心技能,在数字化时代背景下尤为重要,邮政柜员需处理大量电子化文档及电子邮件,卓越的文字输入技巧直接关联到业务流程的连贯性。该平台整合了训练与测试两大核心功能,为用户构建了一个全方位提升汉字输入技巧的环境。平台的训练模块可能具备以下特征:1. **入门级训练**:提供不同难度的汉字及词汇组合,引导用户从基础开始,逐步强化录入速度。2. **情境化模拟**:重现真实的邮政作业场景,让实践者于近似现实的工作状态下进行练习,提升环境适应力。3. **速录强化**:运用计时及计字量机制,要求用户在限定时段内尽可能多地完成汉字输入,以锻炼高速录入能力。4. **偏差修正**:系统将实时识别并反馈用户的输入偏差,协助用户纠正不良输入习惯,提升正确度。5. **定制化配置**:或许允许用户依据个人需求调整训练内容与难度,实现个性化学习路径。测试模块则可能包含以下要素:1. **标准化测试**:确立统一的标准,例如规定时间内必须完成的汉字数量或必须达到的准确率,以此衡量用户汉字输入的熟练程度。2. **表现追踪**:记载每次测试的表现,形成历史数据,使用户能够追踪自身成长轨迹。3. **绩效对比**:或许设有内部绩效排行机制,让用户了解自身在团队中的相对位置,激发竞争心态。4. **资格认证**:对于达到特定标准的用户,平台可...
内容概要:本文围绕售电市场环境下电力用户选择售电公司的行为展开深入研究,通过构建数学模型与博弈分析框架,系统探讨用户在不同电价机制、服务质量、合同条款及风险偏好等因素影响下的决策行为与选择偏好。研究采用Matlab作为仿真平台,结合实证数据或设定典型场景,运用主从博弈、多智能体模拟、优化算法等方法,模拟电力市场中多方主体之间的交互过程,重点分析售电公司定价策略、激励机制与用户响应之间的动态关系,揭示市场主体间的行为演化规律与均衡机制,旨在为电力市场化改革中的机制设计、市场监管与政策制定提供理论支撑与量化依据。; 适合人群:具备一定电力系统基础知识、微观经济学或博弈论理论背景,熟悉Matlab编程与数值仿真的科研人员、高校研究生及能源领域相关从业者。; 使用场景及目标【EI复现】售电市场环境下电力用户选择售电公司行为研究(Matlab代码实现):①掌握电力市场中用户购电行为建模与效用函数设计方法;②熟练运用Matlab实现博弈模型构建、多智能体仿真与市场均衡求解;③深入理解售电侧市场竞争机制,为售电公司制定差异化营销策略、政府设计用户激励政策及提升市场运营效率提供决策支持。; 阅读建议:此资源以Matlab代码实现为核心,建议读者结合文档说明逐步运行并调试代码,通过调整模型参数(如电价水平、服务权重、用户敏感度等)观察仿真结果的变化,深入理解模型内在逻辑与行为机理;同时鼓励在此基础上拓展至多类型用户群体、引入不确定性因素或结合实际数据进行案例验证,以增强研究的实用性与创新性。

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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