Sql Delphi中ADO查询连接到DB网格时出现问题?
问题背景: 因此,我试图从数据库中显示一个表(在我的GUI的无线组中选择特定的表),通常在DBGrid中,这样当用户在SQL查询中键入时,他们就能够在DBGrid中看到表中的更改。 (除非另有说明,否则显示的所有图像均来自德尔福的设计视图) 可以在其中选择表的无线组的图像(无线组尚未执行任何操作): 主要问题: 问题是它并没有显示所有内容,它只显示DBGrid上的第一列,而不显示其他内容 我所说的输出示例: 有关表单、组件等的额外信息: 连接到声明为TDataSource组件的DBGrid的数据源称为dsrSQL。我正在使用一个名为qrySQL的TADOQuery组件,它连接到conClientInfo(一个连接到数据库的TADOConnection组件)。该数据源的数据集为qrySQL。所有组件都处于活动状态并已启用。它们也都在一个名为DM_client_的单一数据模块中。(我在表单代码中声明了“使用”下的数据模块) Access中某个表的图像: 我的尝试: 我在conClientInfo中重新定义了连接字符串,检查了qrySQL组件和DBGrid。我仍然没有看到这个计划表面上有任何问题Sql Delphi中ADO查询连接到DB网格时出现问题?,sql,ms-access,delphi,delphi-xe2,pascal,Sql,Ms Access,Delphi,Delphi Xe2,Pascal,问题背景: 因此,我试图从数据库中显示一个表(在我的GUI的无线组中选择特定的表),通常在DBGrid中,这样当用户在SQL查询中键入时,他们就能够在DBGrid中看到表中的更改。 (除非另有说明,否则显示的所有图像均来自德尔福的设计视图) 可以在其中选择表的无线组的图像(无线组尚未执行任何操作): 主要问题: 问题是它并没有显示所有内容,它只显示DBGrid上的第一列,而不显示其他内容 我所说的输出示例: 有关表单、组件等的额外信息: 连接到声明为TDataSource组件的DBGrid的
提前谢谢 如果您不介意我这么说的话,那么您试图使用相同的DBGrid来 当您不知道如何显示来自两个具有不同结构的表的数据时。 无论如何,尝试这样做意味着您将失去在设计时设置网格外观的能力 并调整它以适应每个表中的特定数据 以下是我建议你做的:
当您遇到意外问题时,例如,当您希望应用程序以独占方式访问表时,以及在运行时尝试重新构造表时,请找出原因。我认为您真正的问题是第一列的宽度。其余的数据都在那里,但是你必须水平滚动才能看到。如果未明确定义第一列的宽度或使用隐式列,则会根据基础字段的数据类型和DBGrid的字体自动计算宽度。对于大的VARCHAR字段,它可能是一个巨大的数字。@PeterWolf谢谢,更改列的宽度帮助很大!但是我的一些领域有着广泛的价值观?我怎样才能解决这个问题?(我将Access中字段的数据类型都改为短文本而不是长文本)坦白地说,我认为你需要重新思考你的q,因为其中的大部分信息都是无关的,例如,一个不起作用的无线电组的图像,显示它是完全没有意义的,一个Access中的表是什么样子的图像。您应该包括的详细信息包括表中的字段类型和大小(以文本而非图像表示)、用于打开表的代码以及切换表时如何重置DBGrid。尝试使用同一个网格来显示来自不同结构表的数据不是一个好主意,除非您知道如何使用DBGrid实现这一点。好的,我将充分利用您的建议。不过我还有一个问题。如何将TTabSheets添加到TPageControl?因为我没有看到TTabSheet的单独组件,所以您必须在页面控件或..的处理程序中添加代码吗?右键单击页面控件并从弹出菜单中选择“新建页面”(两次)。