2017-04-24 58 views
-3

我想在不同的變量,每個單元格的值在C#中存儲或瞭解數據是在另一個表銀行表對Finger_id數據庫中存在..我想將每個單元格的數據庫值存儲在不同的變量變量中C#?

 string queryString = "SELECT b.bank_id from bank_tbl b JOIN login_tbl l ON l.finger_id = b.finger_id WHERE l.passcode = " + pass + " "; 
     using (SqlConnection connection = new SqlConnection("Data Source = ZIAULHAQ\\SQLEXPRESS; Initial Catalog = ATM; Integrated Security = True")) 
     using (SqlCommand command = new SqlCommand(queryString, connection)) 
     { 
      connection.Open(); 
      using (SqlDataReader reader = command.ExecuteReader()) 
      { 
       // Call Read before accessing data. 
       if (reader.Read()) 
       { 
        reader.Read(); 

        int bid1 = cell1; 
        int bid2 = cell2; 
        int bid3 = cell3; 
        // Call Close when done reading. 
        reader.Close(); 
       } 
      } 
     } 
     conn.Close(); 
if (bid1 == Value) 
     { 

      BankHblButton.Show(); 
     } 



     } 
+0

不出所料,MSDN有如何從'SqlDataReader'讀取數據的例子:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader。 aspx具體而言,您可以在'reader'中的'IDataRecord'對象上使用數字或字符串索引。 – David

+0

還要注意,您的代碼容易受到SQL注入攻擊。您應該查看ADO.NET中的「參數化查詢」。 – David

+0

C#完全支持_Object Orientated Programming_,所以你可以從你的'reader'中取出每一行並構建一個** Collection ** –

回答

0

reader正在讀的記錄,你可以得到該記錄的值由reader上的IDataRecord接口確定。事情是這樣的:

// declare your variables in the scope where you need them 
int bid1 = 0; 
int bid2 = 0; 
// etc. 

if (reader.Read()) 
{ 
    bid1 = reader.GetInt32(0); 
    bid2 = reader.GetInt32(1); 
    // etc. 
} 
reader.Close(); 

// You can now use your bid* variables 

注意但是你當前查詢只從數據庫中選擇一個(每行)。因此,與您的問題/代碼暗示的相反,沒有「單元格2」或「單元格3」或其後的任何內容。

如果你想要,那麼你會重新構造這一點。你會想要一個集合而不是單個變量,並且您將使用循環來填充它。事情是這樣的:

// declare your variables in the scope where you need them 
List<int> bids = new List<int>(); 

while (reader.Read()) 
{ 
    bids.Add(reader.GetInt32(0)); 
} 
reader.Close(); 

// You can now use your bid list 
+0

如何在決策中逐一使用這些值? if(bids == 1) { BankHblButton.Show(); } if(bids == 2) { BankABLButton.Show(); } –

+0

@ZiaUlhaq:你的意思是在我的第二個例子?那麼,*整個集合*將不等於'1'。但是,來自*集合的單個元素*可能會:'如果(出價[0] == 1)' – David

+0

有一件事我想比較圖像從數據庫.. –

相關問題