第一个过程:
string connection =" Server = 192.168.1.10; Database = xxxxx; User Id = xxxxx; Password = xxxxxx;&#34 ;;
try
{
SqlConnection conn = new SqlConnection(connection);
conn.Open();
var query = "SELECT TOP 1 ip_address,subnet,gateway FROM computer_info WHERE pc_name = HOST_NAME() ORDER BY id DESC";
SqlCommand cmd = new SqlCommand(query, conn);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
// column ip
string ip_address = dr["ip_address"].ToString();
string sub_net = dr["subnet"].ToString();
string gateway = dr["gateway"].ToString();
label1.Text = ip_address;
label2.Text = sub_net;
}
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
第二个过程:
我想更改我的IP地址和子网
注意:ip地址和子网的值来自数据库
public void setIP(string ip_address, string subnet_mask)
{
ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection objMOC = objMC.GetInstances();
foreach (ManagementObject objMO in objMOC)
{
if ((bool)objMO["IPEnabled"])
{
try
{
ManagementBaseObject setIP;
ManagementBaseObject newIP =
objMO.GetMethodParameters("EnableStatic");
newIP["IPAddress"] = new string[] { ip_address };
newIP["SubnetMask"] = new string[] { subnet_mask };
setIP = objMO.InvokeMethod("EnableStatic", newIP, null);
}
catch (Exception)
{
throw;
}
}
}
}
第三个流程执行
注意:我在这里有2个示例代码 1 正在运行且 2 无效
private void button1_Click_1(object sender, EventArgs e)
{
setIP(
// if i use this static string value my address is changing.
"192.168.1.5",
"255.255.255.0"
);
///---------------------------------------///////////////////////////////////////
setIP(
//the value inside of label1 , label2 is from database. ??? the question is why there is no result if the value came from the database.
label1.Text,
label2.Text
);
}
我希望你能帮助我们..谢谢。
答案 0 :(得分:0)
我会确保我的连接字符串正常工作。这是我唯一能看到的东西。在单步执行代码时检查以查看是否获得了值。如果您尝试访问域中的数据库,还要确保您的路由器和调制解调器具有端口转发功能。但是,如果您尝试访问网络外的服务器,那么我肯定会确保您可以通过ping服务器来访问服务器。
答案 1 :(得分:0)
最简单的调试方法是在setIP函数中设置BreakPoint并在"立即窗口"中查看label2.Text的值。 [在VS菜单中打开立即窗口:调试 - >窗口 - >即时窗口]。请确认您是否在这里获得价值。如果您没有在这里获得价值,请分享您使用的前端标签标签。