oracle调用了,sql也差不多多,只是有些数据类型不同而已;最终如何定义还是看存储过程如何写的。
调用存储过程:
using (OleDbConnection con = new OleDbConnection(ConnectionStr))
{
con.Open();
OleDbCommand cmd= con.CreateCommand();
mandType = CommandType.StoredProcedure;
mandText = "p_dps_wms_check_out";
cmd.Parameters.Add("anbseq",OleDbType.Integer).Direction = ParameterDirection.Input;
cmd.Parameters["anbseq"].Value = bseq;
cmd.Parameters.Add("anuserid", OleDbType.Integer).Direction = ParameterDirection.Input;
cmd.Parameters["anuserid"].Value = user_id;
cmd.ExecuteNonQuery();
有返回的显示
//cmd.Parameters.Add("reccount", OleDbType.Integer).Direction = ParameterDirection.Output;
//cmd.ExecuteNonQuery();
//this.TextBox1.Text = cmd.Parameters["reccount"].Value.ToString();
return true;
}
调用方法:
string sql = string.Format("select f_get_billno('{0}','{1}') from dual", ancompany, anbillid); DataSet ds = SQLSelectData(sql);//这里封装的SQL查询 if (ds != null && ds.Tables[0].Rows.Count == 1) { return ds.Tables[0].Rows[0][0].ToString(); } else return "";