Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Representa uma consulta de banco de dados.
Hierarquia de herança
System.Object
Microsoft.Web.Management.DatabaseManager.Query
Namespace :Microsoft.Web.Management.DatabaseManager
assembly : Microsoft.Web.Management.DatabaseManager (em Microsoft.Web.Management.DatabaseManager.dll)
Sintaxe
'Declaration
Public Class Query
'Usage
Dim instance As Query
public class Query
public ref class Query
public class Query
O tipo de consulta expõe os membros a seguir.
Construtores
Tipo de método | Nome | Descrição |
---|---|---|
método público ![]() |
Consulta | Cria uma nova instância da classe Query. |
Propriedades
Tipo de propriedade | Nome | Descrição |
---|---|---|
propriedade pública ![]() |
AllowEdit | Obtém ou define um valor que especifica se a edição da consulta é permitida. |
propriedade pública ![]() |
instrução | Obtém ou define a instrução SQL para uma consulta. |
propriedade pública ![]() |
Etiqueta | Retorna um objeto genérico armazenado na classe Query. |
Métodos
Tipo de método | Nome | Descrição |
---|---|---|
método público ![]() |
é igual a | (Herdado do objeto .) |
método ![]() |
Finalizar | (Herdado do objeto .) |
método público ![]() |
GetHashCode | (Herdado do objeto .) |
método público ![]() |
GetType | (Herdado do objeto .) |
método ![]() |
MemberwiseClone | (Herdado do objeto .) |
método público ![]() |
ToString | (Herdado do objeto .) |
Observações
A classe Query representa uma consulta como um objeto para trabalhar com um banco de dados. Na implementação mais básica, uma consulta consistiria em uma instrução SQL contida na propriedade instrução.
Exemplos
O exemplo de código a seguir ilustra um exemplo método ExecuteQuery que retorna uma matriz de resultados de consulta de uma consulta de banco de dados.
Public Overrides Function ExecuteQuery( _
ByVal connectionString As String, _
ByVal query As Microsoft.Web.Management.DatabaseManager.Query) _
As Microsoft.Web.Management.DatabaseManager.QueryResult()
Dim results As List(Of QueryResult) = New List(Of QueryResult)
Dim result As QueryResult = New QueryResult
Try
' Create a new OLEDB connection using the connection string.
Dim connection As OleDbConnection = New OleDbConnection(connectionString)
Dim command As OleDbCommand = New OleDbCommand(query.Statement, connection)
' Open the database connection.
connection.Open()
' Execute the query and access the data.
Dim reader As OleDbDataReader = command.ExecuteReader
' Add the results to the query list.
results.Add(GetQueryResult(reader))
' Close the database connection.
reader.Close()
' Return the query results.
Return results.ToArray
Catch ex As Exception
Throw New ProviderException(ex.Message)
End Try
End Function
...
Private Function GetQueryResult(ByVal reader As OleDbDataReader) As QueryResult
Dim result As QueryResult = New QueryResult
Dim fieldCount As Integer = reader.FieldCount
Dim i As Integer = 0
Do While (i < fieldCount)
Dim metadata As QueryColumnMetadata = New QueryColumnMetadata
metadata.Name = reader.GetName(i)
result.ColumnMetadata.Add(metadata)
i = (i + 1)
Loop
While reader.Read
Dim itemData() As Object = New Object((fieldCount) - 1) {}
i = 0
Do While (i < fieldCount)
itemData(i) = ConvertToSerializable(reader(i))
i = (i + 1)
Loop
result.QueryResults.Add(itemData)
End While
Return result
End Function
public override QueryResult[] ExecuteQuery(
string connectionString,
Query query )
{
List<QueryResult> results = new List<QueryResult>();
QueryResult result = new QueryResult();
try
{
// Create a new OLEDB connection using the connection string.
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbCommand command = new OleDbCommand(query.Statement, connection);
// Open the database connection.
connection.Open();
// Execute the query and access the data.
OleDbDataReader reader = command.ExecuteReader();
// Add the results to the query list.
results.Add(GetQueryResult(reader));
// Close the database connection.
reader.Close();
}
// Return the query results.
return results.ToArray();
}
catch(Exception ex)
{
throw new ProviderException(ex.Message);
}
}
...
private QueryResult GetQueryResult(OleDbDataReader reader)
{
QueryResult result = new QueryResult();
int fieldCount = reader.FieldCount;
for (int i = 0; i < fieldCount; i++)
{
QueryColumnMetadata metadata = new QueryColumnMetadata();
metadata.Name = reader.GetName(i);
result.ColumnMetadata.Add(metadata);
}
while (reader.Read())
{
object[] itemData = new object[fieldCount];
for (int i = 0; i < fieldCount; i++)
{
itemData[i] = ConvertToSerializable(reader[i]);
}
result.QueryResults.Add(itemData);
}
return result;
}
Acesso thread-safe
Todos os membros estáticos públicos (compartilhados no Visual Basic) desse tipo são thread safe. Não há garantia de que os membros de instância sejam thread safe.