Convert.IsDBNull(Object) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna uma indicação de que se o objeto especificado é do tipo DBNull.
public:
static bool IsDBNull(System::Object ^ value);
public static bool IsDBNull (object? value);
public static bool IsDBNull (object value);
static member IsDBNull : obj -> bool
Public Shared Function IsDBNull (value As Object) As Boolean
Parâmetros
- value
- Object
Um objeto.
Retornos
true
se value
for do tipo DBNull; caso contrário, false
.
Exemplos
O exemplo a seguir usa um SqlDataReader objeto para recuperar dados de pesquisa de um banco de dados. Ele atribui os valores de campo de cada linha a uma matriz e, em seguida, passa cada elemento de matriz para o IsDBNull método . Se o método retornar true
, o exemplo atribuirá a cadeia de caracteres "NA" ao elemento de matriz. Em seguida, a matriz é adicionada à Rows coleção de um System.Windows.Forms.DataGridView controle .
private void Form1_Load(object sender, EventArgs e)
{
// Define ADO.NET objects.
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
SqlDataReader dr;
// Open connection, and retrieve dataset.
conn.Open();
// Define Command object.
cmd.CommandText = "Select * From Responses";
cmd.CommandType = CommandType.Text;
cmd.Connection = conn;
// Retrieve data reader.
dr = cmd.ExecuteReader();
int fieldCount = dr.FieldCount;
object[] fieldValues = new object[fieldCount];
string[] headers = new string[fieldCount];
// Get names of fields.
for (int ctr = 0; ctr < fieldCount; ctr++)
headers[ctr] = dr.GetName(ctr);
// Set up data grid.
this.grid.ColumnCount = fieldCount;
this.grid.ColumnHeadersDefaultCellStyle.BackColor = Color.Navy;
this.grid.ColumnHeadersDefaultCellStyle.ForeColor = Color.White;
this.grid.ColumnHeadersDefaultCellStyle.Font = new Font(this.grid.Font, FontStyle.Bold);
this.grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
this.grid.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;
this.grid.CellBorderStyle = DataGridViewCellBorderStyle.Single;
this.grid.GridColor = Color.Black;
this.grid.RowHeadersVisible = true;
for (int columnNumber = 0; columnNumber < headers.Length; columnNumber++)
this.grid.Columns[columnNumber].Name = headers[columnNumber];
// Get data, replace missing values with "NA", and display it.
while (dr.Read())
{
dr.GetValues(fieldValues);
for (int fieldCounter = 0; fieldCounter < fieldCount; fieldCounter++)
{
if (Convert.IsDBNull(fieldValues[fieldCounter]))
fieldValues[fieldCounter] = "NA";
}
grid.Rows.Add(fieldValues);
}
dr.Close();
}
member this.Form1_Load(sender: obj, e: EventArgs) =
// Define ADO.NET objects.
use conn = new SqlConnection(connectionString)
use cmd = new SqlCommand()
// Open connection, and retrieve dataset.
conn.Open()
// Define Command object.
cmd.CommandText <- "Select * From Responses"
cmd.CommandType <- CommandType.Text
cmd.Connection <- conn
// Retrieve data reader.
let dr = cmd.ExecuteReader()
let fieldCount = dr.FieldCount
let fieldValues = Array.zeroCreate<obj> fieldCount
let headers =
// Get names of fields.
Array.init fieldCount dr.GetName
// Set up data grid.
grid.ColumnCount <- fieldCount
grid.ColumnHeadersDefaultCellStyle.BackColor <- Color.Navy
grid.ColumnHeadersDefaultCellStyle.ForeColor <- Color.White
grid.ColumnHeadersDefaultCellStyle.Font <- new Font(grid.Font, FontStyle.Bold)
grid.AutoSizeRowsMode <- DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders
grid.ColumnHeadersBorderStyle <- DataGridViewHeaderBorderStyle.Single
grid.CellBorderStyle <- DataGridViewCellBorderStyle.Single
grid.GridColor <- Color.Black
grid.RowHeadersVisible <- true
for columnNumber = 0 to headers.Length - 1 do
grid.Columns[columnNumber].Name <- headers[columnNumber]
// Get data, replace missing values with "NA", and display it.
while dr.Read() do
dr.GetValues fieldValues |> ignore
for fieldCounter = 0 to fieldCount do
if Convert.IsDBNull fieldValues[fieldCounter] then
fieldValues[fieldCounter] <- "NA"
grid.Rows.Add fieldValues |> ignore
dr.Close()
override _.Dispose(disposing) =
if disposing then
grid.Dispose();
base.Dispose disposing
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Define ADO.NET objects.
Dim conn As New SqlConnection(connectionString)
Dim cmd As New SqlCommand
Dim dr As SqlDataReader
' Open connection, and retrieve dataset.
conn.Open()
' Define Command object.
cmd.CommandText = "Select * From Responses"
cmd.CommandType = CommandType.Text
cmd.Connection = conn
' Retrieve data reader.
dr = cmd.ExecuteReader()
Dim fieldCount As Integer = dr.FieldCount
Dim fieldValues(fieldCount - 1) As Object
Dim headers(fieldCount - 1) As String
' Get names of fields.
For ctr As Integer = 0 To fieldCount - 1
headers(ctr) = dr.GetName(ctr)
Next
' Set up data grid.
grid.ColumnCount = fieldCount
With grid.ColumnHeadersDefaultCellStyle
.BackColor = Color.Navy
.ForeColor = Color.White
.Font = New Font(grid.Font, FontStyle.Bold)
End With
With grid
.AutoSizeRowsMode = _
DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders
.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single
.CellBorderStyle = DataGridViewCellBorderStyle.Single
.GridColor = Color.Black
.RowHeadersVisible = True
For columnNumber As Integer = 0 To headers.Length - 1
.Columns(columnNumber).Name = headers(columnNumber)
Next
End With
' Get data, replace missing values with "NA", and display it.
Do While dr.Read()
dr.GetValues(fieldValues)
For fieldCounter As Integer = 0 To fieldCount - 1
If Convert.IsDBNull(fieldValues(fieldCounter)) Then
fieldValues(fieldCounter) = "NA"
End If
Next
grid.Rows.Add(fieldValues)
Loop
dr.Close()
End Sub
Comentários
O IsDBNull método testa se o value
parâmetro é igual a DBNull.Value. É equivalente ao seguinte código:
return DBNull.Value.Equals(value);
DBNull.Value.Equals value
Return DBNull.Value.Equals(value)
Observação
DBNull.Value é usado para indicar um valor ausente. Não é equivalente a null
ou a String.Empty. Portanto, o código, como Convert.IsDBNull(null)
em C# ou Convert.IsDBNull(Nothing)
no Visual Basic, retornafalse
.