-1
我得到我正在工作的服务器的IP地址,然后将检测到的IP传递给另一个从表中获取办公室代码的方法包含每个办公室和它的IP在Oracle数据库下的列表我的问题与经过 的IP来查询方法2,请帮助传递参数到oracle查询
方法1
private IPAddress Get_CurrentLocalIPAddress()
{
if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
{
MessageBox.Show("Unable to detect IP Address","Network Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
return null;
}
IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
return host.AddressList.FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork);
}
方法2
public void Find_OfficeCode()
{
string oradb = "User Id=user;Password=pwd;";
string commandStr = @"select DATABASE_NAME from office where UPPER(IP_ADDRESS)=:pOfficeIP";
using (OracleConnection conn = new OracleConnection(oradb))
using (OracleCommand cmd = new OracleCommand(commandStr,conn))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("pOfficeIP", OracleDbType.Varchar2).Value = Get_CurrentLocalIPAddress().ToString();
conn.Open();
IDataReader dr = cmd.ExecuteReader();
label3.Text = dr.GetString(dr.GetOrdinal("DATABASE_NAME")).ToString();
}
}
感谢您的帮助和解释 – samer