如何从access数据库中查询表结构?

2024-04-04

我想用 C# 获取 Access 数据库中所有表和 odbc 数据源的结构。所以我尝试了这段代码:

string text="";
var tables = GetApp().CurrentData.AllTables;
for (int i = 0; i < tables.Count; i++)
{
    var currentTable = tables.Item(i);
    text = text + currentTable.FullName + Environment.NewLine;
}
MessageBox.Show(text);

这将返回所有可用的表名称。但是如何获取表的列名和类型呢?

我试过这个:

var props = currentTable.Properties;
for (int j = 0; j < props.Count; j++)
{
    var prop = props.Item(j);
    text = text + Environment.NewLine + prop.Name;
}

但它不起作用(当我访问属性时抛出异常)。

我尝试使用 oleDB 连接 + GetSchema 来获取表结构。但通过这种方法,我只收到了 access-db 内的“本机”(或本地)表。但还有一些我也感兴趣的 ODBC-Linked-Tables。

那么如何获取 ms-access 数据库文件中的表名、列名和列类型呢?


你需要使用CurrentDb().TableDefs如果你想访问表列。这AllTables集合不提供对表字段的访问。

CurrentDb().TableDefs[0].Fields[0].Name例如,应返回第一个表的第一列的名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从access数据库中查询表结构? 的相关文章

  • 如何将非静态类成员“std::bind”绑定到 Win32 回调函数“WNDPROC”?

    我正在尝试将非静态类成员绑定到标准WNDPROC http msdn microsoft com en us library ms633573 aspx功能 我知道我可以通过将类成员设为静态来简单地做到这一点 但是 作为一名 C 11 ST
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • C中的malloc内存分配方案

    我在 C 中尝试使用 malloc 发现 malloc 在分配了一些内存后浪费了一些空间 下面是我用来测试 malloc 的一段代码 include
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • Cmake 链接共享库:包含库中的头文件时“没有这样的文件或目录”

    我正在学习使用 CMake 构建库 构建库的代码结构如下 include Test hpp ITest hpp interface src Test cpp ITest cpp 在 CMakeLists txt 中 我用来构建库的句子是 f
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • 不同类型指针之间的减法[重复]

    这个问题在这里已经有答案了 我试图找到两个变量之间的内存距离 具体来说 我需要找到 char 数组和 int 之间的距离 char data 5 int a 0 printf p n p n data 5 a long int distan
  • C++ 条件编译

    我有以下代码片段 ifdef DO LOG define log p record p else define log p endif void record char data 现在如果我打电话log hello world 在我的代码中
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock

随机推荐

  • 平均执行时间

    有没有什么好的 GNU 方法来测量某些命令行程序的平均 最坏情况 最好情况 执行时间 我有图像过滤器 未指定数量的图片 使用 bash 中的 for 循环过滤它们 到目前为止我正在使用time 但我找不到如何获取一些统计数据的方法 您可以将
  • 将 XYZ 点云转换为灰度图像

    每个人 我正在尝试使用 python 将点云 X Y Z 转换为灰度图像 我了解到灰度图像可以由 Numpy 数组生成 但我现在拥有的是一组包含 X Y 和高度的点 我想根据 X Y 和灰度值 即高度 生成灰度图像 有人能给我一个关于这个的
  • 我的驱动程序模块的内核输出奇怪的 dmesg

    从我之前的问题为什么模块加载失败 dev scull0 没有这样的设备或地址 https stackoverflow com questions 62019834 why does module failed to load dev scu
  • Flask:为什么 app.route() 装饰器应该总是在最外面?

    说吧 我有一个手工制作的 login required装饰器 from functools import wraps def login required decorated function Decorator to check if u
  • 在 Windows 中将 Boost 与 CMake 和 Visual Studio 链接的正确方法是什么?

    我正在尝试为 Visual Studio 2012 生成一些我需要的 Boost 1 58 库 chrono 正则表达式和线程 并将这些库与 CMake 链接 我在 CMake 和 Visual Studio 查找或链接库时遇到了真正的问题
  • SQLite 参数替换和引号

    我有这条线工作正常 c execute select cleanseq from cleanseqs WHERE newID s name 但我想使用 SQLite 参数替换而不是字符串替换 因为我看到here http docs pyth
  • 在画布上的精确位置创建输入文本字段?

    Canvas 可以绘制文本 但无法创建输入文本字段 这意味着必须在 html 中执行此操作 但是如何才能确保将该文本字段准确定位在您想要的位置呢 我希望能够在运行时以编程方式执行此操作 创建以下 HTML 结构以将输入框放置在画布上 div
  • 判断字符串中的所有字母是否按字母顺序排列 JavaScript

    我正在尝试编写一个 JavaScript 函数来确定字符串中的所有字母是否按字母顺序排列 以下内容将继续返回 SyntaxError 意外的令牌默认值 function orderedWords str var s str toLowerC
  • 在 ASP.NET MVC Web API 服务和 MVC 客户端架构中实现身份验证和基于角色的授权

    在为我的 Web API 服务 MVC 客户端 架构项目实现身份验证 授权场景时 我很难决定一种方法 尽管我已经在 Web API 项目中实现了基于自定义令牌的身份验证 但我发现很难准确地在哪里实现授权 在客户端或 API 本身 架构概述
  • Lambda 不支持 NLTK 文件大小

    我正在编写一个 python 脚本来分析一段文本并以 JSON 格式返回数据 我正在使用 NLTK 来分析数据 基本上 这是我的流程 创建端点 API 网关 gt 调用我的 lambda 函数 gt 返回所需数据的 JSON 我编写了脚本
  • 查找存储为 Ahnentafel 数组的二进制最大堆的最小元素

    我有一个二进制最大堆 顶部的最大元素 我需要通过摆脱smallest每次我达到 20 个元素时 二叉堆存储在一个数组中 节点 i 的子节点为 2 i 和 2 i 1 i 从零开始 在任何时候 堆都有 n elements 个元素 介于 0
  • 向 MVC 路由添加冗余信息

    当您遇到这个问题时 您会注意到问题的标题位于地址栏中 以及您单击到达此处的链接 我不确定确切的术语 因此很难搜索 但我该如何做类似的事情 也就是说 如何将数据添加到纯粹用于显示 搜索引擎的地址栏 Thanks 以 Stack Overflo
  • 如何在 Ruby 中选择给定范围内的数组元素?

    我有一个数组 比方说 有 500 个元素 我知道我可以通过以下方式选择前 100 个 first 100 我的问题是如何选择 100 到 200 之间的元素 您可以在数组下标中使用范围 arr 100 200
  • 如何通过 mpi c++ 发送布尔数据类型?

    我是 C 新手 尝试通过 MPI 发送 bool 数据类型 但 C 不支持此数据类型 我试着做到了MPI BYTE and MPI INT但它什么也没打印 include
  • “volatile char *”类型的参数与“const char *”类型的参数不兼容

    我有一个函数 其原型如下 void foo const char data 在我的代码的其他地方 我声明了一个全局变量 如下所示 volatile char var 100 每当我尝试这样做时 foo var 编译器会抛出以下错误消息 vo
  • 删除 numpy 数组中的屏蔽元素

    我有一些包含屏蔽元素的数组 来自Numpy MaskedArray e g data 0 1 masked 3 masked 5 面具不遵循常规模式的地方 我想遍历数组并简单地删除所有被屏蔽的元素 最终得到 data 0 1 3 5 我尝试
  • 调试部署的azure应用程序

    是否可以附加到已部署的 Azure 应用程序 我希望能够单步执行代码 以便可以查看在对我的 Web 角色操作之一的请求中设置了哪些值 我环顾四周 唯一的例子似乎是当天蓝色应用程序在本地计算机上运行时进行调试 允许在云中使用 IntelliT
  • Objective-C 中整数的除法和四舍五入

    我有 2 个整数 如何将一个除以另一个然后再四舍五入 如果你的整数是A and B你想要 ceil A B 只需计算 A B 1 B
  • Spyder中的runfile是什么意思

    尝试在 WinPython Spyder 中使用 PyPDF2 时 我无法解释错误消息 错误信息 在 3 中 runfile C Users User Downloads WPy64 3720 pdf2text py wdir C User
  • 如何从access数据库中查询表结构?

    我想用 C 获取 Access 数据库中所有表和 odbc 数据源的结构 所以我尝试了这段代码 string text var tables GetApp CurrentData AllTables for int i 0 i lt tab