【问题标题】:how to display values from SQL database when an IP address is matched匹配 IP 地址时如何显示 SQL 数据库中的值
【发布时间】:2017-04-17 19:19:08
【问题描述】:

..我正在使用什么方法.. 我正在创建通过 WebService 连接到 SQL Server 数据库的 UWP 应用。

..我需要什么帮助.. 当 IP 地址与运行应用程序的 PC 匹配时,我想显示数据库中的值。

..到目前为止我所拥有的.. 现在,我有代码可以在下面显示 PC 的本地主机名。可能需要将其移至 Appx,尚未决定。我还在名为 DevicePage 的视图上显示值。 DevicePageViewModel 正在调用 WebService

代码超越>>

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        foreach (HostName localHostName in NetworkInformation.GetHostNames())
        {
            if (localHostName.IPInformation != null)
            {
                if (localHostName.Type == HostNameType.Ipv4)

                    capturedHostName.Text = localHostName.ToString();
                    break;
            }
        }
    }

视图模型>>

        var uriD = new Uri("http://localhost:2463/api/Devices");
        HttpClient client = new HttpClient();

        try
        {
            var JsonResponseD = await client.GetStringAsync(uriD);
            var devicesResult = JsonConvert.DeserializeObject<List<Device>>(JsonResponseD);

            Devices = devicesResult;
        }
        catch
        {
            MessageDialog dialog = new MessageDialog("Unable to Access WebService at this Time!");
            await dialog.ShowAsync();
        }

        client.Dispose();

实体框架模型>>

public class Device
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int HostName { get; set; }
    public string RouterName { get; set; }
    public string DriveModel { get; set; }
    public string DriveSN { get; set; }
    public string OldDriveSN { get; set; }
    public string Server { get; set; }
    public string IP { get; set; }
    public string Gateway { get; set; }
    public string Hardware { get; set; }
}

【问题讨论】:

  • 我不清楚你在问什么。
  • 如果有什么安慰的话,我不太清楚如何问它... :-) 我正在做的是显示一个页面,其中包含一些当前设备的信息信息。我要问的是,如何比较 CodeBeyond 提供的 IP 地址,并筛选数据库中的所有结果,并返回与该 IP 相关的所有字段。 (在 IP 下的设备表中找到)这样更清楚,还是我需要提供更多信息?
  • 看来您只是在寻找FirstOrDefault() 方法。

标签: sql-server entity-framework uwp dotnet-httpclient


【解决方案1】:

你要找的是

Device device = devicesResult.Find(data => data.IP == capturedHostName.Text);

这应该会从您的localHostName 获得带有IP 的设备类。

【讨论】:

  • 感谢社区的及时帮助...所以这将过滤来自httpclient查询的结果,并找到与capturedHostName.Text匹配的IP?让我试试... :-)
  • 这是我返回的结果... device = "null" devicesResults = "Count = 2" IP = "10.0.0.4".... 它从不向我显示其余数据来自 SQL 中包含上述 IP 的行。如果我从上述模型中搜索任何其他值,它们都是“null”。那么,如何从具有 localHostName 匹配 IP 的 Row 中取回所有结果
  • @ekgcorp 这完全取决于您的 API 查询。通常处理这种情况的方式不是在客户端检索完整数据,而是在服务器端传递您需要结果的确切 IP。
猜你喜欢
  • 2019-06-03
  • 1970-01-01
  • 2018-11-29
  • 1970-01-01
  • 2015-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-26
相关资源
最近更新 更多