2012-03-16 3 views
1

내가 선택한 cardNumber에 속한 계정의 잔액을 표시하는 방법에 대해 궁금한 점이있었습니다. 폼 1에 다음 코드를 사용하여 선택한 cardnumber를 보유하는 변수와 해당 cardnumber에 속하는 accoutnnumber를 form1에 form2로 드래그했습니다.문자열 변수 방향으로 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(); 

위의 코드에서 CardNumber는 선택한 카드를 보유하고 accountNumber는 선택한 카드의 accountNumber를 표시합니다. 양식 2에 새로운 datarow를 만들려고 할 때 선택한 카드에 속한 accout 번호로 데이터row를 가리키는 방법을 알아낼 수 없습니다. ?

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가 아닌 ​​선택에 cardNumber 포인트 어떻게 오히려 변수에 cardNumber에의 DataRow를 가리키는 것보다 내가 그것을 필요로한다 : Heres는 코드 내가 형태 2에 사용했다 모자 카드에 속한 계좌 번호를 사용하면 도움이 될 것입니다.

답변

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

'Select '에 전달하는 것은 변수가 아닙니다. 이것은 본질적으로 "WHERE"가없는 SQL의 WHERE 절입니다. 따라서'Select '에 대한 호출이'.Select ("AccountNumber ="+ accountNumber ")와 같이 보이길 원할 것입니다. AccountNumber 열 이름이 무엇인지 모르겠지만이를 포함해야합니다. 나는 이것이 의미가 있기를 바랍니다. 알려 주시면 더 명확하게하려고 노력하겠습니다. (일찍하고 아직 커피가 없었습니다.) –

+0

Ive가 데이터 행을 계정 ID 열로 가리켰습니다. DataRow [] rows = dataSet2Balance1.Tables [ "Accounts"] Select ("accountId ="+ accountNumber); richTextBox1.AppendText (rows [0] [ "accountId"]. ToString()); richtextbox는 선택한 카드 각각에 대해 정확한 계좌 번호를 표시합니다. 지금 바로 잔액을 인쇄 할 수 있어야합니다. 어떤 아이디어, 지속적으로 괴롭히는 것에 대해 미안합니다. – parker4001

관련 문제