如何使用 SqlDataReader 获取列的 DataType 和 Size?

mar*_*ine 6 .net c# database getschematable

我正在尝试获取每列的数据类型来进行一些验证\ni已经尝试过,getSchemaTable但它只提供了没有值的表的架构。

\n\n

例如,我的数据库中有一个表和一个列名:id_declarant。\n我想从 中检索值的数据类型和大小id_declarant

\n\n

这是代码:

\n\n
comm.Connection=new SqlConnection(connectionString);\nString sql = @"\n            SELECT * \n            FROM id_declarant,declarant\n            WHERE (declarant.Nom_pren_RS=\'" + textBox1.Text + "\') \n            and   (id_declarant.mat_fisc=declarant.mat_fisc)  "; \ncomm.CommandText = sql;\ncomm.Connection.Open();\nstring mat_fisc;\nstring cl\xc3\xa9_mat_fisc;\nstring categorie ;\nstring num_etab_sec ;\nstring activite;\nStringBuilder sb = new StringBuilder();\nString Nom = textBox1.Text;\nusing (SqlDataReader reader = comm.ExecuteReader())\n{\n    while (reader.Read())\n    {\n        //here i want to know how to retrieve the reader[0].Type and Size to do the verification \n         mat_fisc = reader[0].ToString();\n         cl\xc3\xa9_mat_fisc = reader["cl\xc3\xa9_mat_fisc"].ToString();\n         categorie = reader["categorie"].ToString();\n         num_etab_sec = reader["num_etab_sec"].ToString();\n         activite = reader["activite"].ToString();\n         sb.Append("EF" + mat_fisc + cl\xc3\xa9_mat_fisc + categorie + num_etab_sec + textBox2.Text + textBox3.Text + Nom + activite);\n
Run Code Online (Sandbox Code Playgroud)\n

ojl*_*ecd 5

Type type = reader.GetFieldType(0);
Run Code Online (Sandbox Code Playgroud)