The Schema collections return metadata for the Advanced SQL Engine objects. The notable metadata columns for the VarChar data type are:
Column Name | Description |
---|---|
COLUMN_TYPE or DATA_TYPE |
Set to VARCHAR. |
CHARACTER_MAXIMUM_LENGTH | Returns the maximum length of the column in Characters. |
CHARACTER_OCTET_LENGTH | Returns the maximum length of the column in Bytes. This field is set to "CHARACTER_MAXIMUM_LENGTH * 2" for Unicode Character columns. |
FORMAT | Format assigned to the SQL Engine object. |
CHAR_TYPE |
Indicates whether the columns is of type:
|
PROVIDERDBTYPE | It is set to TdType.VarChar. |
The TdDataReader.SchemaTable returns result set metadata. The notable metadata columns for the VarChar data type are:
Column Name | Description |
---|---|
ColumnSize | Returns the maximum length of the column in Characters. |
DataType | System.Type object for the System.String type. |
ProviderType | Set to TdType.VarChar. |
Format | Format assigned to the SQL Engine object. |
ProviderSpecificDataType | System.Type object for the System.String class. |
The following example shows how to configure a VarChar parameter using DbType type declaration and a BCL value. The value is set to a System.String instance.
C# |
Copy Code |
---|---|
TdParameter customerName = new TdParameter(); customerName.ParameterName = "customerName"; customerName.DbType = DbType.String; customerName.Value = "John Smith"; |
![]() |
---|
The TdParameter.DbType property can also be set to DbType.AnsiString value for parameters that correspond to the SQL Engine objects of type "VARCHAR(n) CHARACTER SET KANJISJIS". The TdParameter.Size property specifies number of Bytes send to and/or received from the SQL Engine when DbType is set to AnsiString. For additional information refer to DbParameter.Size and TdParameter.Size properties. |
The following example shows how to configure a VarChar parameter using TdType type declaration and a BCL value.
C# |
Copy Code |
---|---|
TdParameter customerName = new TdParameter(); customerName.ParameterName = "orderDate"; customerName.TdType = TdType.VarChar; customerName.Value = "John Smith"; |
The TdParameter.Value should be set to an Array of Characters (Char[]), String object or an object that supports conversion (Convert.ToString) to System.String.
The TdParameter.Size property must be set to a number greater than Zero for InputOutput or Output Parameters. The Data Provider will throw an exception when TdParameter.Direction property is set to ParameterDirection.Output or ParameterDirection.InputOutput and TdParameter.Size property is set to Zero. The TdParameter.Size property specifies the maximum number of Unicode Characters (or Bytes) the Data Provider will send to the SQL Engine and/or will receive from the SQL Engine. We recommend to set the TdParameter.Size property to the corresponding SQL Engine object size (e.g. Column or Stored Procedure Parameter size) for Input, InputOutput or Output parameters.
![]() |
---|
TdParameter.Size is not required for Input parameters. However it will improve the overall performance of Batch Updates. Therefore the general guideline is to always set the TdParameter.Size property. |
The syntax for the VARCHAR Literal is 'string'. A zero-length character literal (i.e. Empty String) is represented by two consecutive single-quotes.
![]() |
---|
We recommend to always use Parameters in order to take advantage of the SQL Engine's Request Cache. |
The following example shows "John Smith" value represented as Character-Literal in the Command Text.
C# |
Copy Code |
---|---|
using (TdConnection cn = new TdConnection("data source=x;UserId=y;Password=z;")) { cn.Open(); TdCommand cmd = cn.CreateCommand(); cmd.CommandText = "SELECT customerId, customerName from Customer where customerName = 'John Smith' "; using (TdDataReader reader = cmd.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { Console.WriteLine("Customer Id={0}, Name={1}", reader.GetString(0), reader.GetString(1)); } } } } |
The following methods and properties return the column or parameter value as a System.Char structure or System.Char[] object.
The following methods and properties return the column or parameter value as a System.String object.
The following methods and properties return the column or parameter value as a System.TextReader object.
Accessor Methods for Retrieving Data
Configuring Parameters and Parameter Data Types