manu manu - 1 month ago 17
C# Question

How to get the DataType and Size of a column using the SqlDataReader?

i am trying to get the data type of each column given to do some verification
i already tried the

getSchemaTable
but it only gives me the schema of a table without values.

For example , i have a table in my database and a columnname :
id_declarant
.
I want to retrieve the datatype and Size of a value from
id_declarant
.

Here is The code :

comm.Connection=new SqlConnection(connectionString);
String sql = @"
SELECT *
FROM id_declarant,declarant
WHERE (declarant.Nom_pren_RS='" + textBox1.Text + "')
and (id_declarant.mat_fisc=declarant.mat_fisc) ";
comm.CommandText = sql;
comm.Connection.Open();
string mat_fisc;
string clé_mat_fisc;
string categorie ;
string num_etab_sec ;
string activite;
StringBuilder sb = new StringBuilder();
String Nom = textBox1.Text;
using (SqlDataReader reader = comm.ExecuteReader())
{
while (reader.Read())
{
//here i want to know how to retrieve the reader[0].Type and Size to do the verification
mat_fisc = reader[0].ToString();
clé_mat_fisc = reader["clé_mat_fisc"].ToString();
categorie = reader["categorie"].ToString();
num_etab_sec = reader["num_etab_sec"].ToString();
activite = reader["activite"].ToString();
sb.Append("EF" + mat_fisc + clé_mat_fisc + categorie + num_etab_sec + textBox2.Text + textBox3.Text + Nom + activite);

Answer
Type type = reader.GetFieldType(0);
Comments