小小问题,请多指教

wuhc99 2000-01-03 11:53:00
我的问题主要是这样的,其中数据库A有 编号 姓名 年龄 地址
数据库B有 编号 姓名 语文 数学 还有一个计算字段总分
两个数据库的编号是一样的,DBGrid显示数据库B
编号 姓名 语文 数学 总分
我想在DBGrid中的编号输入后从数据库A中找到该编号,并在DBGrid中显示出姓名
在语文 数学输入后显示出总分,由于总分是语文加数学得来的,当语文或数学
输入不当或没的输入时很容易出错。而在DBGrid中增加记录时,按向下键时可
增加一个记录,但会出现只的没有编号或没的姓名的记录,
我该如何让整个记录输入完整后才允许增加记录?

...全文
389 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
渤海海峡 2000-01-08
  • 打赏
  • 举报
回复
才注意不好意思,我给您寄的都是d3用的,因为我现在还在用d3没有办法。
wuhc99 2000-01-08
  • 打赏
  • 举报
回复
to barton 能不能寄我,如果太大寄到wuhc99@cmmail.com
to fstao 谢谢,我先试试看。
fstao 2000-01-06
  • 打赏
  • 举报
回复
这个问题很简单的,用delphi的Tdbgrid完全可以实现。如下:
在form1添加table1和table2和dbgrid1,table1连接数据库A,table2连接数据B,
dbgrid1连接table2。
在table2的字段“编号”的onChange事件为:
if not table1.locate('编号',table2编号.value,[]) then
begin
messagedlg('没有这个编号');
abort;
end
else
begin
table1.locate('编号',table2编号.value,[]);
table2姓名.value:=table1姓名.value;
end;

table2的beforepost事件为:
try
table2总和.value:=table2语文.value+table2数学.value;
except
messagedlg('语文或数学输入数据有错');
abort;
end;

Ok!如果你用infopower或DevGrid控件,可能更好一点
barton 2000-01-06
  • 打赏
  • 举报
回复
Datagrid2.0原是D3下的版本,我已改为D5版本,去掉了DBDataGrid,
但添加了大量的功能,如跨行,跨列,数据变动敏感等等.
如果你要的话...
wuhc99 2000-01-06
  • 打赏
  • 举报
回复
请问DataGrid和alignstringgrid要怎么安装,不好意思见笑了.我用的是Delphi5
安装DataGrid时提示TDataGrid这个类已存在.安装alignstringgrid也出现错误
会不会我的安装方法不对。
wuhc99 2000-01-05
  • 打赏
  • 举报
回复
谢谢yjq,两个控件已收到
渤海海峡 2000-01-05
  • 打赏
  • 举报
回复
给您寄了两grid:datagrid和alignstringgrid。 wuhc99请注意查收。
netfly 2000-01-05
  • 打赏
  • 举报
回复
用计算字段。在你的DataSet(引用表b)中增加一个是姓名,一个是总分的计算字段。
wuhc99 2000-01-04
  • 打赏
  • 举报
回复
我见过许多管理之类的软件,它都以表格方式提供用户输入。
wyj 2000-01-04
  • 打赏
  • 举报
回复
您可以把DBGRID设为只读,另外制作一个输入窗口专用于增加记录,并加一个按钮或热键引发这个窗口,这样处理界面较友好,也符合大部分程序的惯例。
渤海海峡 2000-01-04
  • 打赏
  • 举报
回复
惨痛的教训告诉我:千万不要用DBGrid做输入控件
渤海海峡 2000-01-04
  • 打赏
  • 举报
回复
管理类的软件绝对不会使用Dbgrid干这活,用一个不是数据感知的stringGrid,一切都OK了。
wuhc99 2000-01-04
  • 打赏
  • 举报
回复
谢谢yjq的提醒,kxy所说的正在研究当中,成功一定给分
谁如果知道DataGrid的下载地方,能不能顺手通知一下。
tiger 2000-01-04
  • 打赏
  • 举报
回复
kxy说的是对的, 你应该给他分数!!!
barton 2000-01-04
  • 打赏
  • 举报
回复
<a href="topicview.asp?id=87>为什么不用DataGrid?</a>
kxy 2000-01-03
  • 打赏
  • 举报
回复
在 BeforePost事件中检查数据是否都合法,不合法可以使用abort强行
中止post命令.

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧