62,047
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DBUtility;
using System.Data.OracleClient;
using System.Data;
public partial class Admin_Admin_index : System.Web.UI.Page
{
private readonly string conStr = SQLHelper.GetConnectionString();
private OracleConnection conn = new OracleConnection(SQLHelper.GetConnectionString());
double iuserid;
string susername;
string read_data_right;
string filterlist;
double code;
string msg;
protected void Page_Load(object sender, EventArgs e)
{
Test("1001", "1", "00-26-22-BA-46-2C", "", ref iuserid, ref susername, ref read_data_right, ref filterlist, ref code, ref msg);
string s = "";
}
private void Test(string suserno,string pwd,string mac1,string mac2,ref double iuserid,ref string susername,ref string read_data_right,ref string filterlist,ref double code,ref string msg)
{
try
{
//打开连接
OpenOracleConnection();
//定义OracleCommand对象
OracleCommand cmd = new OracleCommand("login_deal.login", conn);
//设置命令类型为存储过程
cmd.CommandType = CommandType.StoredProcedure;
//根据存储过程的参数个数及类型生成参数对象
OracleParameter p1 = new OracleParameter("p_suserno", OracleType.VarChar);
OracleParameter p2 = new OracleParameter("p_password", OracleType.VarChar);
OracleParameter p3 = new OracleParameter("p_mac1", OracleType.VarChar);
OracleParameter p4 = new OracleParameter("p_mac2", OracleType.VarChar);
OracleParameter p5 = new OracleParameter("p_iuserid", OracleType.Number);
OracleParameter p6 = new OracleParameter("p_susername", OracleType.VarChar,1000);
OracleParameter p7 = new OracleParameter("p_read_data_right", OracleType.VarChar,1000);
OracleParameter p8 = new OracleParameter("p_filterlist", OracleType.VarChar,1000);
OracleParameter p9 = new OracleParameter("p_code", OracleType.Number);
OracleParameter p10 = new OracleParameter("p_msg", OracleType.VarChar,1000);
//设置参数的输入输出类型,默认为输入
p1.Direction = ParameterDirection.Input;
p2.Direction = ParameterDirection.Input;
p3.Direction = ParameterDirection.Input;
p4.Direction = ParameterDirection.Input;
p5.Direction = ParameterDirection.Output;
p6.Direction = ParameterDirection.Output;
p7.Direction = ParameterDirection.Output;
p8.Direction = ParameterDirection.Output;
p9.Direction = ParameterDirection.Output;
p10.Direction = ParameterDirection.Output;
//对输入参数定义初值,输出参数不必赋值.
p1.Value = suserno;
p2.Value = pwd;
p3.Value = mac1;
p4.Value = mac2;
//按照存储过程参数顺序把参数依次加入到OracleCommand对象参数集合中
cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
cmd.Parameters.Add(p3);
cmd.Parameters.Add(p4);
cmd.Parameters.Add(p5);
cmd.Parameters.Add(p6);
cmd.Parameters.Add(p7);
cmd.Parameters.Add(p8);
cmd.Parameters.Add(p9);
cmd.Parameters.Add(p10);
//这儿报错了。未将对象引用到实例。
iuserid = Convert.ToDouble(p5.Value.ToString());
susername = p6.Value.ToString();
read_data_right = p7.Value.ToString();
filterlist = p8.Value.ToString();
code = Convert.ToDouble(p9.Value.ToString());
msg = p10.Value.ToString();
CloseOracleConnection();
}
catch (Exception ex)
{
}
}
#region 关闭连接
private void CloseOracleConnection()
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
#endregion
#region 打开连接
private void OpenOracleConnection()
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
}
#endregion
}