2017-02-13 24 views
-1

私はC#ASPXで作業しており、Datatable.compute()を使用できるようにデータテーブルを作成しようとしています。私はクラスを作りましたが、私はそのほとんどを変更するつもりです。私は複数回インポートしてデータテーブルを作成しようとしましたが、私のコードは動作しません。私はどこにでも見てきましたが、なぜこれが機能していないのか分かりません。DataTable名前空間が見つかりません

コード:

using System; 
using System.Collections; 
using System.Data.Datatable; 

namespace Krypton 
{ 

    public partial class Default : System.Web.UI.Page 
    { 
     DataTable dt = new DataTable(); 
     Random rand = new Random(); 

     int[] cards = new int[6]; 
     ArrayList openP = new ArrayList(); 
     ArrayList closeP = new ArrayList(); 
     ArrayList pairList = new ArrayList(); 
     ArrayList numbers = new ArrayList(); 
     ArrayList comands = new ArrayList(); 

     String answer; 

     public void generateCards(object sender, EventArgs args) 
     { 
      for (int i = 0; i < cards.Length; i++) 
      { 
       cards[i] = (1 + rand.Next(24)); 
      } 
      card1.Text = cards[0].ToString(); 
      card2.Text = cards[1].ToString(); 
      card3.Text = cards[2].ToString(); 
      card4.Text = cards[3].ToString(); 
      card5.Text = cards[4].ToString(); 
      card6.Text = cards[5].ToString(); 
     } 

     public void checkCards(object sender, EventArgs ars) 
     { 
      answer = answerBox.Text; 
      splitString(answer); 
     } 

     public void splitString(String s) 
     { 
      char[] c = s.ToCharArray(); 

      for (int i = 0; i < c.Length; i++) 
      { 
       if (c[i] == ')') 
       { 
        closeP.Add(i); 
        Boolean end = true; 
        int j = i; 
        while (!end) 
        { 
         if (c[j] == '(') 
         { 
          openP.Add(j); 
          end = true; 
         } 
         else if (j <= 0) 
         { 
          end = true; 
         } 
         else { 
          j--; 
         } 
        } 
       } 
      } 
      for (int i = 0; i < c.Length; i++) 
      { 
       char ch = c[i]; 
       if (ch == '+') 
        comands.Add(0); 
       if (ch == '-') 
        comands.Add(1); 
       if (ch == '*') 
        comands.Add(2); 
       if (ch == '/') 
        comands.Add(3); 
       if (ch == '^') 
        comands.Add(4); 
      } 
      for (int i = 0; i < c.Length; i++) 
      { 
       char ch = c[i]; 
       if (isNumber(ch)) { 

       } 
      } 

      findPairs(openP, closeP); 
      doMath(pairList); 
     } 

     public Boolean isNumber(char c) { 
      if (c == '0' || c == '1' || c == '2' || c == '3' || c == '4' || c == '5' || c == '6' || c == '7' || c == '8' || c == '9') 
      { 
       return true; 
      } 
      else{ 
       return false; 
      } 
     } 

     public void findPairs(ArrayList o, ArrayList c) 
     { 

      if (!(o.Count == c.Count)) 
      { 
       return; 
      } 
      for (int i = 0; i < o.Count; i++) 
      { 
       NumberPair pr = new NumberPair((int)o[i], (int)c[i]); 
       pairList.Add(pr); 
      } 
     } 

     public void doMath(ArrayList a) 
     { 
      ArrayList strAry = new ArrayList(); 
      for (int i = 0; i < a.Count; i++) 
      { 
       NumberPair pr = (NumberPair)a[i]; 
       strAry.Add(answer.Substring(pr.getStart(), pr.getEnd())); 
       answerBox.Text = (String)strAry[i]; 
      } 
     } 
    } 
} 

エラー(秒):

Error when compiling

Error when I have not yet compiled

編集:私はsystem.dataにsystem.data.databaseから、それを変更しました。それはまだのDataTableにSystem.Data名前空間内のクラスである:(

New error

+1

「ザマリン」?あなたはモノを意味しますか? – SushiHangover

+0

@SushiHangoverええ、私はタグを変更しますが、プログラムは融合されました。 – Darokrithia

+1

プロジェクトにアセンブリの 'System.Data.dll'への参照を追加しましたか?ソリューションエクスプローラで**参照**ノードをチェックします。 – Agalo

答えて

0

Agaloはでこれを答え私のコメントなので、そんなにありがとう

あなたは単にあなたの参照にSystem.Dataを追加する必要があります。

Here is where to find it.

1

を動作しませんあなただけSystem.Dataに使用して変更してみてください。

using System.Data; 
+0

それでも動作しません。私は私の質問を更新する – Darokrithia

関連する問題