SqlCeResultSet.GetSqlMetaData Method

Returns the metadata information associated with the specified column.

Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (in system.data.sqlserverce.dll)

Syntax

'Declaration
Public Function GetSqlMetaData ( _
    ordinal As Integer _
) As SqlMetaData
public SqlMetaData GetSqlMetaData (
    int ordinal
)
public:
SqlMetaData^ GetSqlMetaData (
    int ordinal
)
public SqlMetaData GetSqlMetaData (
    int ordinal
)
public function GetSqlMetaData (
    ordinal : int
) : SqlMetaData

Parameters

  • ordinal
    The ordinal position of the column from which to retrieve data.

Return Value

The metadata of the column at the specified index.

Remarks

An exception is thrown if no field exists at the specified ordinal position.

Example

Dim conn As SqlCeConnection = Nothing

Try
    File.Delete("Test.sdf")

    Dim engine As New SqlCeEngine("Data Source = Test.sdf")
    engine.CreateDatabase()

    conn = New SqlCeConnection("Data Source = Test.sdf")
    conn.Open()

    Dim cmd As SqlCeCommand = conn.CreateCommand()
    cmd.CommandText = "CREATE TABLE myTable (col1 INT, col2 MONEY, col3 NVARCHAR(200))"
    cmd.ExecuteNonQuery()

    cmd.CommandText = "SELECT * FROM myTable"

    Dim rs As SqlCeResultSet = cmd.ExecuteResultSet(ResultSetOptions.Updatable Or ResultSetOptions.Scrollable)

    Dim columnMetaData As SqlMetaData = rs.GetSqlMetaData(2) 'ordinal

    MessageBox.Show("Column Name = " & columnMetaData.Name)
    MessageBox.Show("Max Length = " & columnMetaData.MaxLength)
    MessageBox.Show("Type = " & columnMetaData.SqlDbType)

Catch e As Exception
    MessageBox.Show(e.Message)
Finally
    conn.Close()
End Try
SqlCeConnection conn = null;

try
{
    File.Delete("Test.sdf");

    SqlCeEngine engine = new SqlCeEngine("Data Source = Test.sdf");
    engine.CreateDatabase();

    conn = new SqlCeConnection("Data Source = Test.sdf");
    conn.Open();

    SqlCeCommand cmd = conn.CreateCommand();
    cmd.CommandText = "CREATE TABLE myTable (col1 INT, col2 MONEY, col3 NVARCHAR(200))";
    cmd.ExecuteNonQuery();

    cmd.CommandText = "SELECT * FROM myTable";

    SqlCeResultSet rs = cmd.ExecuteResultSet(ResultSetOptions.Updatable | 
        ResultSetOptions.Scrollable);

    SqlMetaData columnMetaData = rs.GetSqlMetaData(2 /*ordinal*/);

    MessageBox.Show("Column Name = " + columnMetaData.Name);
    MessageBox.Show("Max Length = " + columnMetaData.MaxLength);
    MessageBox.Show("Type = " + columnMetaData.SqlDbType);

}
catch (Exception e)
{
    MessageBox.Show(e.Message);
}
finally
{
    conn.Close();
}

Thread Safety

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
Version Information
.NET Framework and NET Compact Framework
Supported in 3.5
.NET Framework
Supported in 3.0
.NET Compact Framework and .Net Framework
Supported in 2.0

See Also

Reference

SqlCeResultSet Class
SqlCeResultSet Members
System.Data.SqlServerCe Namespace