在c#里面怎样调用sqlserver2000 存储过程, 我的储过程已经写好了并且是有返回数值的
在c#里面怎样调用存储过程,并且还要把返回数值去出来?不意思,我只 有10分了:-)
在c#里面怎样调用存储过程,并且还要把返回数值去出来?不意思,我只 有10分了:-)
解决方案 »
- 求在哪里打开工具箱里没有的控件
- c# 怎么样调用DELPHI DLL
- : base()是什么意思?
- 用一个循环生成多个标签或文本框窗体上。在C#里如何实现?
- 在ASP.NET网页中,如何通过连接在另一个页面中打开所链接的页面?????
- WinForm的TreeView的问题
- 有没有什么办法可以让asp页面只是生成一次
- 求大神把这小段java的代码转换成C#代码,感激不尽
- 这两句代码表达的意思是一样的吗???????????????
- 高分求助。好不容易下载了VS.net。安装时总是CD1中的nafxcwd.lib不能拷贝
- 如何使用模式方式打开Calendar?
- 如何实现托盘程序中,托盘的提示效果?
cmd.CommandType=存储过程那类型cmd.参数.add执行
cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Clear();
cmd.Parameters.Add("pm_UserPassword", OracleType.NVarChar).Value = UserPassword;
cmd.Parameters.Add("pm_UserName", OracleType.NVarChar).Value = UserName;
cmd.Parameters.Add("pm_Mobile", OracleType.NVarChar).Value = Mobile;
cmd.Parameters.Add("pm_Email", OracleType.NVarChar).Value = Email;
OracleParameter op = cmd.Parameters.Add("pm_ClientUserID", OracleType.Number);
op.Direction = ParameterDirection.Output; cmd.ExecuteNonQuery(); return long.Parse(op.Value.ToString());//手头只有个Oracle数据库的
在SQl中只需要把上面的Oracle换成Sql就可以了,
"op.Direction = ParameterDirection.Output;"这一句就是接收存储过程输出的参数.op的值就是输出的数值
/// 根據傳入的值(單個值)返回資料
/// </summary>
/// <param name="procName">存程過程</param>
/// <param name="parms">SqlParameter</param>
/// <param name="Condtion">傳入值</param>
/// <param name="txtValue"></param>
/// <param name="intIndex"></param>
/// <param name="_ActionTable">選擇資料庫</param>
/// <returns>Ture/False</returns>
public bool GetInfo(string procName, SqlParameter parms ,string Condtion,string[] txtValue,int[] intIndex,ActionTable _ActionTable)
{
private SqlConnection conn;
private SqlConnection Sysconn;
private SqlConnection Democonn; bool isValue = false; if(_ActionTable == ActionTable.SYS)
conn = Sysconn;
else if(_ActionTable == ActionTable.DEMO)
conn = Democonn; SqlCommand cmd = new SqlCommand(procName,conn);
cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Clear();
cmd.Parameters.Add(parms);
parms.Value = Condtion; SqlDataReader myDataReader; try
{
conn.Open();
myDataReader = cmd.ExecuteReader();
isValue = myDataReader.Read(); if(isValue)
{
for(int i=0;i<txtValue.Length;i++)
txtValue[i]= myDataReader[intIndex[i]].ToString();
}
}
catch(System.Exception ex)
{
throw ex;
}
finally
{
if(conn.State == ConnectionState.Open)
conn.Close();
} return isValue;
}