2011-07-14 128 views
2

我試圖從.NET頁面運行查詢,但我似乎有一些問題與多個查詢。多個oracle查詢問題

我的查詢與此類似

SELECT * FROM table1; SELECT * from table2

,但我似乎從.NET頁面執行該什麼時候能得到一個無效字符錯誤。它在SQL開發者中運行良好,但只有當我把它放入我的.NET頁面時纔會失敗。

我已經添加了BEGINEND到查詢一些網站建議,你需要它來運行多個查詢但我得到以下錯誤

ORA-06550:第1行,第7列: PLS-00428:在這個SELECT語句中預期有一個INTO子句

任何人都可以在這一點上得到任何解釋嗎?

在此先感謝!

編輯

下面是一些代碼

 query = conn.CreateCommand() 

     query.CommandText = "SELECT * from table1; SELECT * FROM table2;" 

     DataSet = New DataSet() 
     DataAdapter = New DataAdapter(query) 
     DataAdapter.Fill(DataSet) 

     datagrid1.DataSource = DataSet.Tables(0) 
     datagrid1.DataBind() 

     lbl1.Text = DataSet.Tables(1).Rows(0).Item("column1").ToString() 
+0

請顯示一些代碼。 –

+0

你期望得到什麼? PL-SQL在不使用結果的情況下明確拒絕「SELECT」。 – grep

+0

@grep:基本上我想用一個表的結果數據綁定一個數據網格,並用另一個表的結果填充一個標籤 –

回答

2

如果你想從2代表拉,並得到一個數據集,你可以填入一個DataAdapter,那麼你需要使用下列之一方法:

  1. 將2個表加在一起(可能或不可能取決於您的表)
  2. 將2個表結合起來(這可能適用於您的場景,也可能不適用)
  3. 編寫一個存儲過程,該過程可創建所需的任何結果並將其返回到引用遊標中。你可以閱讀如何做到這一點here

你不能僅僅運行2條SQL語句並獲得任何有意義的結果到DataSet中。

+0

謝謝 - 我會嘗試其中一個欣賞幫助:) –

0

如果你只需要存在於兩個表1和表2可以做

領域
SELECT field1, field2, field3 FROM table1 
UNION 
SELECT field1, field2, field3 FROM table2 

如果字段名稱不同,但相同類型的內容,你可以做

SELECT tab1_id AS primary_key, tab1_name AS name, tab1_amount AS amount FROM table1 
UNION 
SELECT tab2_id AS primary_key, tab2_name AS name, tab2_amount AS amount FROM table2 

這將給你一個結果列primary_key,名稱,數量(這只是一個隨機的例子)

如果這兩個表包含完全不同的內容,你應該真的使用兩個單獨的查詢。