2012-03-16 8 views
1

私は、選択したcardNumberに属するアカウントの残高をどのように表示するのかと不思議に思っていました。私は選択したcardnumberを保持する変数とform1のそのcardnumberに属するaccoutnnumberをform2にドラッグするために、フォーム1で次のコードを使用しました。文字列変数に向かってdatarowを指していますか?

 int index = comboBoxCardNumber.SelectedIndex; 
     DataRow dpin = dataSet11.Tables["ATMCards"].Rows[index]; 
     String pin = dpin.ItemArray.GetValue(1).ToString(); 
     String AccountNumber = dpin.ItemArray.GetValue(2).ToString(); 

       Form2 frm2; 
       frm2 = new Form2(); 
       frm2.accountNumber = AccountNumber; 
       frm2.CardNumber = index; 
       frm2.Owner = this; 
       frm2.ShowDialog(); 

上記のコードはカード番号が選択したカードとACCOUNTNUMBERは、その選択されたカードのACCOUNTNUMBERを示し保持示しています。フォーム2で新しいデータローを作成しようとすると、選択したカードに属するaccoutnumberに向けてデータローをポイントする方法がわかりません。相続人は、私は、フォーム2のために使用しているコード:

public int CardNumber; 
    public String accountNumber;  

     private void Form2_Load(object sender, EventArgs e) 
    { 
     sqlDataAdapterBalance.Fill(dataSet2Balance1.Accounts);    
    } 

    private void btnShowBalance_Click(object sender, EventArgs e) 
    {    
     DataRow accountId = dataSet2Balance1.Tables["Accounts"].Rows[CardNumber]; 
     String accountNumber = accountId.ItemArray.GetValue(1).ToString(); 

     richTextBox1.AppendText(accountNumber); 

    } 

私の質問は、あなたが文字列変数ACCOUNTNUMBERではなく、選択したカード番号にデータローを指して行う方法ですではなく、変数カード番号へのDataRowを指して、私はそれを必要ですか?帽子カードに属している口座番号を使用してください。

答えて

1

ご質問がある場合は、DataTableをフィルタにかけてアカウント番号を含む行を取得してください。 DataTableSelectを使用してください:私が正しく理解していなかった場合は

DataRow[] rows = dataSet2Balance1.Tables["Accounts"].Select("AccountNumber=" + accountNumber); 
Console.WriteLine(rows[0]["AccountNumber"].ToString()); 

は、私に知らせてください、私はそれに応じて更新します。

うまくいけば、これが役に立ちます。

+0

私はあなたに私が与えた次のコードを使用しました DataRow [] rows = dataSet2Balance1.Tables ["Accounts"]選択(accountNumber); Console.WriteLine(rows [0] ["accountNumber"]。ToString()); と次のエラーメッセージが表示されます。 フィルタ式 '12345680'はブール値に評価されません。 12345680は残高を見つけるために必要なアカウント番号です。 – parker4001

+0

あなたが '選択 'に渡すものは変数ではありません。本質的にWHERE句ではなく、SQLのWHERE句です。だからあなたは 'Select 'にあなたの呼び出しをしたいと思うでしょう:' .Select( "AccountNumber =" + accountNumber) '。あなたのAccountNumber列の名前はわかりませんが、それを含める必要があります。私はこれが理にかなってほしい。私に知らせてください、私はもっと明確にしようとします。 –

+0

Iveはデータ行をアカウントID列に指しています DataRow [] rows = dataSet2Balance1.Tables ["Accounts"]を選択します( "accountId =" + accountNumber); richTextBox1.AppendText(rows [0] ["accountId"]。ToString()); リッチテキストボックスには、選択した各カードの正しいアカウント番号が表示されています。残高を今すぐ印刷できるようにするだけです。常に迷惑をかけて申し訳ありません。 – parker4001

関連する問題