存储过程输入参数的执行
XuguConnection conn = new XuguConnection();
conn.ConnectionString = conn_xugu;
try
{
conn.Open();
XuguCommand cmd = new XuguCommand();
cmd.Connection = conn;
cmd.CommandText = "select count(*) from user_tables where table_name='T_PROC10'";//T_pack_func1
if (Convert.ToInt32(cmd.ExecuteScalar()) == 1)
{
cmd.CommandText = "drop table T_PROC10 cascade";
cmd.ExecuteNonQuery();
}
cmd.CommandText = "create table T_PROC10(pid int ,pname varchar)";
cmd.ExecuteNonQuery();
string sql = "create or replace PROCEDURE P1(pid INT,pname VARCHAR )";
sql += " AS BEGIN ";
sql += " insert into T_PROC10 values(pid,pname);";
sql += " end; ";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
cmd.CommandText = "P1";
cmd.CommandType = CommandType.StoredProcedure;
//参数赋值
cmd.Parameters.Add("pid", XuguDbType.Int).Value = 2;
cmd.Parameters.Add("pname", XuguDbType.VarChar).Value = "开发部";
cmd.ExecuteNonQuery();
//重复执行参数赋值前,需清除前次参数
cmd.Parameters.Clear();
cmd.Parameters.Add("pid", XuguDbType.Int).Value = 3;
cmd.Parameters.Add("pname", XuguDbType.VarChar).Value = "测试部";
cmd.ExecuteNonQuery();
return 1;
}
catch (System.Exception ex)
{
Console.WriteLine(ex.ToString());
conn.Close();
return 0;
}