TABLERESULTS
によって返されたレコードを取得する代わりにExecuteNonQuery
のSqlDataReader
を使用します。SQL Server Management Studioでクエリを実行し、返されたすべての列を表示するには
Dim strBuilder As New System.Text.StringBuilder
Using cmd As New SqlClient.SqlCommand("DBCC CHECKDB (offpoDb) WITH TABLERESULTS", con)
Dim reader As SqlClient.SqlDataReader
reader = cmd.ExecuteReader
While reader.Read
strBuilder.AppendLine(CStr(reader("MessageText")))
End While
reader.Close()
End Using
MessageBox.Show(strBuilder.ToString)
を。
あなたがInfoMessage
-eventを使用するハンドラを追加し、次のようにそれを使用することを好む場合:
Sub MyMethod()
Using con As New SqlClient.SqlConnection("<yourConnectionString>")
con.Open()
AddHandler con.InfoMessage, AddressOf InfoMessage
Using cmd As New SqlClient.SqlCommand("DBCC CHECKDB (offpoDb)", con)
cmd.ExecuteNonQuery()
End Using
con.Close()
End Using
End Sub
Private Sub InfoMessage(sender As Object, e As SqlClient.SqlInfoMessageEventArgs)
MessageBox.Show(e.Message)
End Sub
ねえ、私のコードは、DB FOTエラーをチェックするための完璧なソリューションですか?より良い解決策はありますか? –
@ zackraiyan私は自分の答えを編集し、 'InfoMessage'イベントの例を追加しました。他にもより良い解決策があるかもしれません。あなたはどれがあなたにとって完璧な解決策であるかを判断する必要があります。 – MatSnow
ありがとう...しかし、私は第一の解決策で大丈夫です...あなたが私を助けることができます[ここ](https://stackoverflow.com/questions/47774263/dbcc-checkdb-any-ways-to-detect-errors-vb -ネット) –