我有一个存储过程,可以将几列插入数据库,IP地址,名称,注释。我不知道如何获取用户机器的IP地址。也许我要创建一个相同类型的变量(INT),然后在那里存储IP地址。我有点迷失在这一个。
static int IPAddress()
{
get { return Request.UserHostAddress; };
}//How do I pass from here into my stored procedure?
cmdI.Parameters.Add(new SqlParameter("@IPAddress", cmdI));
cmdI.Parameters.Add(new SqlParameter("@Name", cmdI));
cmdI.Parameters.Add(new SqlParameter("@Comments", cmdI));
答案 0 :(得分:1)
您需要将IP地址从字符串转换为int;见How to convert an IPv4 address into a integer in C#?
但是,我会更改数据库以将IP地址存储为字符串。这样您就可以支持IPv6。
答案 1 :(得分:-1)
IP地址确实是32位int的表示,可以像这样存储在数据库中