2014-01-27 2 views
-1

초보자 프로그래머입니다. adapter.fill 함수의 오류

나는 다음 단계를 수행해야이 코드는

?????? adapter.fill (DT) "에서 오류를 보여줍니다 다음 코드를 작성 :

내 데이터 세트에 1 연결이 UserID, TrackID (2916 fields) 2 개 - 라인 단위로 데이터 세트를 읽은 다음 각 UserID를 url (대신)에 넣습니다 .3 - 웹 페이지를 통해 검색 4 - 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(); 
      } 

} 
    } 

답변

0

이것은 유효하지 않다 :

"Select * from hidden.accdb" 

hidden.accdbUserIDTrackID 열이 포함 된 테이블 이름이어야합니다. 데이터베이스 파일 이름에 액세스하지 않습니다.

+0

테이블 이름이며 동일합니다. – user3233712