C# C.连接到数据集,获取用户ID并在网页中搜索

C# C.连接到数据集,获取用户ID并在网页中搜索,c#,C#,我是一个初学者 我编写了以下代码,必须执行以下步骤: 1-连接到有两个字段的数据集:UserID、TrackID 2916字段 2-逐行读取数据集,并将每个记录的用户标识放在URL中,而不是。 3-通过Url进行搜索 4-如果找到与UserId相关的TrackId,则在计数器中添加1 我不确定程序的逻辑,我写的正确吗 多谢各位 using System; using System.Collections.Generic; using System.ComponentModel; using Sy

我是一个初学者

我编写了以下代码,必须执行以下步骤:

1-连接到有两个字段的数据集:UserID、TrackID 2916字段 2-逐行读取数据集,并将每个记录的用户标识放在URL中,而不是。 3-通过Url进行搜索 4-如果找到与UserId相关的TrackId,则在计数器中添加1

我不确定程序的逻辑,我写的正确吗

多谢各位

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Net;

namespace test2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            OleDbConnection conn = new OleDbConnection();
            conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\hidden.accdb";
            conn.Open();
            OleDbCommand cmd = new OleDbCommand();
            cmd.Connection = conn;
            cmd.CommandText = "Select * from hidden.accdb";
            DataTable dt = new DataTable();
            //To read data from dataset
            OleDbDataAdapter adapter = new OleDbDataAdapter();
            adapter.SelectCommand = cmd;
            //Store the UserID
            adapter.Fill(dt);
            int UserID=0,TrackID=0;
            int counter=0;
            foreach(DataRow row in dt.Rows)
            {
                string url = "http://abcd/<userid>?groups=<userid>";
                var test = url.Replace("<userid>", Convert.ToString(row.UserID));
                System.Diagnostics.Process.Start(url);
                string client = (new WebClient()).DownloadString("http://abcd/UserID?groups=UserID");
                if (client.Contains(Convert.ToString(TrackID)))
                {
                    counter++;
                }
                int ave = counter / 2916;
                MessageBox.Show("Average" + counter);
            }
            conn.Close();
            }

}
    }
您不能像这样访问DataRow中的用户ID:

row.UserID
您应该使用indexer,您可以通过列名或列索引访问它:


除此之外,我没有在您的代码中看到其他错误。

我写的代码正确吗?为什么不试试看???如果您尝试了您得到的结果,是否有任何错误、异常、未测试的结果?@user3233712我不知道您的隐藏.accdb文件是否丢失。请确保您的连接字符串正确
var test = url.Replace("<userid>", Convert.ToString(row["UserID"]));