adapter.fill函数出错

时间:2014-01-27 21:52:59

标签: c#

我是初学程序员。

我编写了以下代码,显示“adapter.fill(dt)??????

中的错误

此代码必须执行以下步骤:

1-connect到我的数据集,该数据集包含两个字段:UserID,TrackID(2916个字段)2 - 逐行读取数据集,并将每个recored的UserId放入url(而不是)。 3 - 在网页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.ToLower() == (Convert.ToString(TrackID).ToLower()))
                {
                    counter++;
                }
                int ave = counter / 2916;
                MessageBox.Show("Average" + counter);
            }
            conn.Close();
            }

}
    }

1 个答案:

答案 0 :(得分:0)

这是无效的:

"Select * from hidden.accdb"

hidden.accdb应该是包含UserIDTrackID列的表名。不访问数据库文件名