2016-02-04 71 views
0

我用ExecuteScalar單查詢是這樣的:我怎樣才能使用執行讀取器的不同變量?

try 
{ 
    OleDbConnection Connection; 
    using (Connection = new OleDbConnection("Provider=MSDAORA.1;Data Source=DATABASE:1521/orcl;Persist Security Info=True;Password=PASSWORD;User ID=USERNAME")) 
    { 
    OleDbCommand Command1, Command2, Command3; 

    Command1 = new OleDbCommand("SELECT HOUR FROM Table1 WHERE type='CAR' and name='FERRARI'",", Connection); 
    Command2 = new OleDbCommand("SELECT HOUR FROM Table1 WHERE type='CAR' and name='FORD'", Connection); 
    Command3 = new OleDbCommand("SELECT HOUR FROM Table1 WHERE type='CAR' and name='OPEL'", Connection); 

    Connection.Open(); 
    var1 = (int)Command1.ExecuteScalar(); 
    var2 = (int)Command2.ExecuteScalar(); 
    var3 = (int)Command3.ExecuteScalar(); 
    Connection.Close(); 
} 

它的工作對我罰款。但是3(更多用於其他數據庫)由於數據庫而等待很多。我怎樣才能選擇所有的表(從表1中選擇*),並在每個條件執行命令後?你可以在我的示例代碼中向我展示這個例子嗎?謝謝。

回答

1

您可以一次發送多個命令到數據庫(用分號分隔)。您可以使用OleDb.NextResult()獲得每個結果集。這將導致一個來回的數據庫,而不是你現在擁有的三個。