[英]Conversion from string “select CustName from tblCustMst ” to type 'Integer' is not valid
[英]Conversion from string “SELECT * FROM DB” to type 'Integer' is not valid
我是vb的Visual Studio和asp.net的新用戶,並一直試圖破解以下代碼以在vb中運行一個簡單的sql查詢,以html格式顯示。
碼:
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
其cmd.CommandType() = sql.ToString
,這將導致代碼在GridView1.DataSource = dr.Read()
處中斷,並帶有無效的DataSource錯誤。
我一直在研究一種修復程序,並且似乎認為我需要在某個地方聲明cmd.CommandType.Text
,但是如果不完全破壞代碼就不能這樣做。
感謝任何建議,如果很明顯的話,我們深表歉意。 Google並不是我的朋友。
謝謝
您正在將commandType設置為與查詢不相等的值。 根據您的情況,它應該是Text,或者只是忽略它,無論如何它將默認為text。
CommandType只能是StoredProcedure,TableDirect或Text(來自http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.commandtype.aspx
您應該改用CommandText屬性( http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.commandtext.aspx )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.