Sql server下的,不用传递参数直接返回记录集的过程:
--过程CREATE PROCEDURE DINYA_TEST AS
BEGIN
SELECT * FROM T_USER
RETURN
END
GO--C#中调用
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;private string connectsql="Data Source=计算机名;Integrated Security=SSPI;Initial Catalog=数据库名";private SqlConnection ConnectSqlServer()
{
SqlConnection connSql=new SqlConnection();
connSql.ConnectionString=connectsql;
connSql.Open();
return connSql;
}private void button1_Click(object sender, System.EventArgs e)
{
DataSet ds=new DataSet();
SqlCommand cmd=new SqlCommand();
cmd.CommandText="DINYA_TEST";
cmd.CommandType=CommandType.StoredProcedure;
cmd.Connection=new Form1().ConnectSqlServer();
SqlDataAdapter da=new SqlDataAdapter(cmd);;
da.Fill(ds,"t");
MessageBox.Show(ds.Tables["t"].Rows[0][1].ToString());
}
--过程CREATE PROCEDURE DINYA_TEST AS
BEGIN
SELECT * FROM T_USER
RETURN
END
GO--C#中调用
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;private string connectsql="Data Source=计算机名;Integrated Security=SSPI;Initial Catalog=数据库名";private SqlConnection ConnectSqlServer()
{
SqlConnection connSql=new SqlConnection();
connSql.ConnectionString=connectsql;
connSql.Open();
return connSql;
}private void button1_Click(object sender, System.EventArgs e)
{
DataSet ds=new DataSet();
SqlCommand cmd=new SqlCommand();
cmd.CommandText="DINYA_TEST";
cmd.CommandType=CommandType.StoredProcedure;
cmd.Connection=new Form1().ConnectSqlServer();
SqlDataAdapter da=new SqlDataAdapter(cmd);;
da.Fill(ds,"t");
MessageBox.Show(ds.Tables["t"].Rows[0][1].ToString());
}
(注:楼主,你的意思不要附加参数.但是在写过程的时候一般都是从前端得到一个数据用过程来处理业务,返回一个结果.过程中的参数在前端执行的时候必须要加上,)public string connectora="Provider=MSDAORA.1;Password=ÃÜÂë;User ID=Óû§Ãû;Data Source=Êý¾Ý¿â;Persist Security Info=True";
private OleDbCommand cmdOra=new OleDbCommand();
#region 连接oracle
public OleDbConnection ConnectDB()
{
OleDbConnection conn=new OleDbConnection();
conn.ConnectionString=connectora;
conn.Open();
return conn;
}
#endregionpublic int Exec_Relation(string p_login_name,string p_custnum,string p_OU,string p_valid,string proc_name)
{
cmdOra.Parameters.Clear();
cmdOra.Dispose();
cmdOra.CommandText=proc_name;
cmdOra.CommandType=CommandType.StoredProcedure;
cmdOra.Connection=new clsPublic().ConnectDB();
int i; cmdOra.Parameters.Add("p_user_login_name",OleDbType.VarChar);
cmdOra.Parameters.Add("p_org",OleDbType.VarChar);
cmdOra.Parameters.Add("p_custnum",OleDbType.VarChar);
cmdOra.Parameters.Add("p_ifvalid",OleDbType.Integer);
cmdOra.Parameters.Add("p_out",OleDbType.Integer);
cmdOra.Parameters["p_user_login_name"].Value=p_login_name;
cmdOra.Parameters["p_org"].Value=p_OU;
cmdOra.Parameters["p_custnum"].Value=p_custnum;
if (p_valid=="ÉúЧ")
cmdOra.Parameters["p_ifvalid"].Value=0;
else
cmdOra.Parameters["p_ifvalid"].Value=1; cmdOra.Parameters["p_user_login_name"].Direction=ParameterDirection.Input;
cmdOra.Parameters["p_org"].Direction=ParameterDirection.Input;
cmdOra.Parameters["p_custnum"].Direction=ParameterDirection.Input;
cmdOra.Parameters["p_ifvalid"].Direction=ParameterDirection.Input;
cmdOra.Parameters["p_out"].Direction=ParameterDirection.ReturnValue;
try
{
cmdOra.ExecuteNonQuery();
i=(int)cmdOra.Parameters["p_out"].Value;
}
catch
{
i=-99;
}
finally
{
if(cmdOra.Connection.State==ConnectionState.Open)
{
cmdOra.Connection.Close();
cmdOra.Connection.Dispose();
cmdOra.Dispose();
}
}
return i;
}