2013-08-01 95 views
-1

我是新來Visual Studio和asp.net與VB,並一直試圖破解下面的代碼來運行一個簡單的SQL查詢在VB以html格式顯示。從字符串「SELECT * FROM DB」轉換爲「整數」類型無效

代碼:

Imports System 
Imports System.Data 
Imports System.Data.SqlClient 
Imports System.Data.SqlTypes 
Imports System.Data.Odbc 
Imports Microsoft.SqlServer.Server 
Imports System.Data.OleDb 
Imports System.Data.OleDb.OleDbCommand 
Imports Oracle.DataAccess.Client 

Public Class WebForm1 
Inherits System.Web.UI.Page 

Private oradb = "Data Source=(DESCRIPTION=" _ 
    + "(ADDRESS=(PROTOCOL=TCP)(HOST=###.###.###.###)(PORT=####))" _ 
    + "(CONNECT_DATA=(SERVICE_NAME=#)));" _ 
    + "User Id=user;Password=pwrd;" 

Dim conn As New OracleConnection(oradb.ToString) 
Dim sql As String = "SELECT * FROM Db WHERE CLMN = 'Y'" 
Dim cmd As New OracleCommand(sql, conn) 
Dim dr As OracleDataReader 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles  Me.Load 
    MySub() 

End Sub 

Sub MySub() 

    conn.Open() 
    cmd.CommandType() = sql 
    dr = cmd.ExecuteReader() 
    dr.Read() 

    GridView1.DataSource = dr.Read() 

    conn.Close() 
    conn.Dispose() 


End Sub 
End Class 

代碼分解一下,cmd.CommandType() = sql

配售.ToString後,即cmd.CommandType() = sql.ToString,這進而導致代碼在GridView1.DataSource = dr.Read()帶有無效數據源錯誤打破。

我一直在研究一個修復程序,似乎認爲我需要在某處聲明cmd.CommandType.Text,但不能完全破壞代碼。

感謝任何建議,道歉,如果它是一個明顯的。谷歌並不是我的朋友。

謝謝

+2

你把SQL變成 '的CommandType'。如果這是 '命令' ? –

+0

不,將'CommandType'改爲'Command'是無效的,將其改爲'CommandText',然後在'GridView1.DataSource = dr.Read()'行給我這個錯誤。 – chrisberry86

+2

正在從內存中移出,但應該有我會建議找到一個很好的演練,然後再繼續前進,因爲代碼中有一些古怪的東西(試圖分配給函數結果,將.ToString()放在一個字符串上,一個dr.Read()放在它自己的位置等等) –

回答

3

你正在設置commandType等於你的查詢是不正確的。它應該是你的案例中的文本,或者只是省略它,它會默認爲文本。

的CommandType只能是StoredProcedure時,TableDirect或文字(從http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.commandtype.aspx

而應該使用的CommandText屬性格式(http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.commandtext.aspx

+0

仍在努力尋找解決方案。我認爲CommandText屬性是已經檢出Google鏈接的方式。我想我需要繼續尋找一個很好的演練來啓動我。謝謝。 – chrisberry86

相關問題