标签: getschematable

GetSchemaTable()如何工作?

OleDbDataReader oleDbDataReader = oleDbCommand.ExecuteReader(CommandBehavior.KeyInfo);
DataTable dataTable = oleDbDataReader.GetSchemaTable();
Run Code Online (Sandbox Code Playgroud)

GetSchemaTable()工作怎么样?

它在RDBMS中从何处获取信息?

c# oledbdatareader getschematable

6
推荐指数
1
解决办法
3543
查看次数

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

我正在尝试获取每列的数据类型来进行一些验证\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 …
Run Code Online (Sandbox Code Playgroud)

.net c# database getschematable

6
推荐指数
1
解决办法
1万
查看次数

我们如何从getschemaTable获取Column Size和dataType?

我是一个新手,我正在尝试从我的数据库中的某些表中检索列NAme,大小(最大legth)和DataType,当我执行它时,以下代码期望它显示所有列类型和名称(我没有找到如何引用Size,我使用了ColumnSize,但据说DataColumn不包含此方法的定义)但是在执行它时,它只显示:IsColumnSetSystem.Boolean这是代码:

private void button1_Click(object sender, EventArgs e)
    {
        string EF = textBox1.Text;

        try{
            //SqlDataAdapter adapter = SetupDataAdapter("SELECT * FROM id_declarant");
     SqlCommand comm = new SqlCommand();
     string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=declaration;Integrated Security=True";
      comm.Connection=new SqlConnection(connectionString);
            String sql = @"SELECT * 
                  FROM id_declarant,declarant
                 WHERE (declarant.Nom_pren_RS='" + EF + "') and (id_declarant.mat_fisc=declarant.mat_fisc)  "; 
     comm.CommandText = sql;
  comm.Connection.Open();
             SqlDataReader reader = comm.ExecuteReader();
             DataTable schemaTable = reader.GetSchemaTable();
             foreach (DataRow row in schemaTable.Rows)
             {
                 foreach (DataColumn column in schemaTable.Columns)
                 {
                     System.IO.File.WriteAllText(@"C:\Users\Manuela\Documents\GL4\WriteLines.txt", column.ColumnName + column.DataType );

                 } …
Run Code Online (Sandbox Code Playgroud)

.net c# database datareader getschematable

3
推荐指数
1
解决办法
1万
查看次数