c# 调用mysql存储过程 返回值_C#调用数据库存储过程
用来创建DataRead的存储过程调用;
//数据库连接字符串
string connStr="Server=localhost;database=stuIMS;uid=sa;pwd=admin";
//建立连接
SqlConnection conn=new SqlConnection(connStr);
//建立查询命令
SqlCommand myCommand=new
SqlCommand("存储过程名",conn); //调用存储过程名
myCommand.CommandType=CommandType.StoredProcedure;
//设置存储过程的参数值,其中@id 为存储过程的参数.
SqlParameter
id=myCommand.Parameters.Add("@id",SqlDbType.NText);
id.Value=存储过程参数值;
//执行命令
SqlDataReader reader=myCommand.ExecuteReader();//读取数据
//或者
SqlDataReader reader=myCommand.ExecuteNonQuery();//数据更新
用来创建SqlDataAdapter对象填充dataset的存储过程调用;
ExeProcedure(string inputdate)):
SqlConnection conn=new SqlConnection(“connectionString”);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand();
da.SelectCommand.Connection = conn;
da.SelectCommand.CommandText = "NameOfProcedure";
da.SelectCommand.CommandType = CommandType.StoredProcedure;
(以上代码相同,以下为要添加的代码)
param = new SqlParameter("@ParameterName",
SqlDbType.DateTime);
param.Direction = ParameterDirection.Input;
param.Value = Convert.ToDateTime(inputdate);
da.SelectCommand.Parameters.Add(param);
这样就添加了一个输入参数。若需要添加输出参数:
//设置存储过程的参数值,其中@ParameterName为存储过程的参数.
param = new SqlParameter("@ParameterName",
SqlDbType.DateTime);
param.Direction = ParameterDirection.Output;
param.Value = Convert.ToDateTime(inputdate); //存储过程参数值;
da.SelectCommand.Parameters.Add(param);
若要获得参储过程的返回值:
param = new SqlParameter("@ParameterName",
SqlDbType.DateTime);
param.Direction = ParameterDirection.ReturnValue;
param.Value = Convert.ToDateTime(inputdate);
da.SelectCommand.Parameters.Add(param);
执行: DataSet myds=new
DataSet();
da.Fill(myds,"tableName");