Delphi中怎样把记录保存到SQL Server中???

sdxiong 2000-05-28 09:10:00
我的想法是可以让我修改所有记录,但直到我发送命令才保存。
我试过用TADOConnection+TADODataSet,但记录会自动保存,且用法不太灵活。
而TDataBase+TQuery用法比较灵活,但是我不知道怎么才能修改和保存。
听说,TQuery如果要保存就必须与TUpdateSQL配合使用。

一般与SQL连接使用哪一种组合最好?
具体用法如何?
哪里可以找到源码(Delphi中的Demo好象没有)?
...全文
275 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bruce_zhao 2000-06-13
  • 打赏
  • 举报
回复
使用SQL语句:Insert into aTable values(),就可以了。
Hibin 2000-06-13
  • 打赏
  • 举报
回复
打开事务,更新时提交,放弃时回滚就行了。
guoyuzhang 2000-06-09
  • 打赏
  • 举报
回复
将Query的CachedUpdates设为True,然后需要递交时,用事务处理。
database.starttransaction;
try
query.applyupdates;
database.commit;
except
database.rollback;
raise;
end;
commitupdates;//清空缓存

patpat 2000-05-30
  • 打赏
  • 举报
回复
还要设置TQuery.UpdateSQl=你的UpdateSQL控件,然后,在UpdateSQl选择关键字段,和
更新字段,然后,安下generateSql按钮
zxh1972 2000-05-30
  • 打赏
  • 举报
回复
TQuery的属性CahedUpdate:=True;这样就不会自动提交。提交在写程序。
eg:
with CustomerQuery do
begin
Database1.StartTransaction;
try
ApplyUpdates; {try to write the updates to the database};
Database1.Commit; {on success, commit the changes};
except
Database1.Rollback; {on failure, undo the changes};
raise; {raise the exception to prevent a call to CommitUpdates!}
end;
CommitUpdates; {on success, clear the cache}
end;
linkie 2000-05-29
  • 打赏
  • 举报
回复
我觉得你应该先熟悉Sql语句,然后用Tquery控件来实现数据的修改等操作,记住,要保存
数据是请用Prepare(),ExecSql()两个方法。当然最好要配之以事物处理的技术。
江王 2000-05-29
  • 打赏
  • 举报
回复
TAdoConnection + TAdoDataset可以使用UpdateBatch方法来提交多条修改的记录,而Post则只提交修改当前记录。除非你使用的是绑定,控件自动进行了Post操作
halfdream 2000-05-29
  • 打赏
  • 举报
回复
我认为没有必要使用ADO。用Delphi原来的那种思路处理数据库就相当好。
TQuery中SQL如果Select自单个表并且没有Groupe by 等就一般可以不需要
当然,把TQUERY 与TUpdataSQL配合用当然最好。
你需要的可以, 1 ,使用事务。让服务器端做事。
2 , 或在DATASET控件中使用缓存更新。


我不清楚DELPHI中有没有DEMO,我现在用的是BCB4,它里面是有EXAMPLE的,
而且介绍得还算清楚。
Axiong 2000-05-29
  • 打赏
  • 举报
回复
if CustomerTable.ChangeCount > 0 then
CustomerTable.ApplyUpdates(-1);
Axiong 2000-05-29
  • 打赏
  • 举报
回复
用dateaccess中的控件就可以了 。有sample的。你找一下
第1章 窗体与界面设计 1 1.1 菜单应用 2 实例001 在系统菜单添加菜单项 2 实例002 带历史信息的菜单 3 实例003 菜单动态合并 4 实例004 像“开始”菜单一样漂亮的菜单 5 实例005 多彩的菜单 6 实例006 可以拉伸的菜单界面 8 1.2 工具栏设计 9 实例007 带背景的工具栏 9 实例008 浮动工具栏 10 1.3 状态栏设计 11 实例009 在状态栏显示检查框 11 实例010 带进度条的状态栏 12 实例011 状态栏加入图标 13 1.4 导航菜单界面 14 实例012 OutLook界面 14 实例013 带导航菜单的主界面 15 实例014 图形化的导航界面 16 1.5 特色程序界面 18 实例015 类QQ的程序界面 18 实例016 类似Windows XP的程序界面 20 实例017 以图形按钮显示的界面 21 实例018 以树型显示的程序界面 23 实例019 以XPManifest组件显示界面 24 实例020 动态按钮的窗体界面 25 1.6 特殊形状的窗体 26 实例021 非矩形窗体 26 实例022 建立字体形状窗体 28 1.7 多媒体光盘 29 实例023 自动启动的多媒体光盘程序 29 实例024 为触摸屏程序添加虚拟键盘 30 实例025 触摸屏系统 31 1.8 窗体效果 33 实例026 半透明渐显窗体 33 实例027 窗口颜色的渐变 34 实例028 带背景的窗体 35 实例029 为窗体增加边框 36 1.9 窗体动画 37 实例030 窗体的滚动字幕 37 实例031 动画显示窗体 38 实例032 制作闪烁的窗体 39 实例033 直接在窗体上绘图 40 实例034 动画形式的程序界面 41 实例035 以时钟显示界面窗体 42 1.10 标题栏窗体 44 实例036 标题栏上的按钮 45 实例037 使窗体标题栏文字右对齐 47 实例038 没有标题栏但可以改变大小的窗口 48 1.11 设置窗体位置 49 实例039 不可移动的窗体 49 实例040 设置窗体在屏幕的位置 50 实例041 始终在最上面的窗体 51 1.12 设置窗体大小 52 实例042 限制窗体大小 52 实例043 获取桌面大小 53 实例044 组件大小随窗体的改变而改变 53 实例045 在窗口间移动按钮 54 实例046 如何实现Office助手 55 1.13 窗体控制技术 56 实例047 在关闭窗口前加入确认对话框 56 实例048 程序在循环响应界面操作 57 实例049 使用任意组件拖动窗体 58 实例050 动态创建窗体和释放窗体 59 实例051 修改提示字体及颜色 60 1.14 其他技术 61 实例052 窗口融合技术 61 实例053 给MDI窗体加背景 62 实例054 如何关闭MDI类型窗体的子窗体 63 实例055 向提示框添加图标 64 第2章 控件应用 67 2.1 TEdit控件应用典型实例 68 实例056 从右至左输入数据 68 实例057 为TEdit控件添加列表选择框 69 实例058 只允许输入数字的TEdit组件 70 2.2 TSpeedButton控件应用典型实例 71 实例059 在TSpeedButton按钮显示图标 71 实例060 折行显示按钮标题 72 2.3 TMemo控件应用典型实例 73 实例061 设置TMemo组件的边界 73 实例062 TMemo组件的光标定位 74 实例063 得到TMemo的可见行数 75 2.4 TListBox控件应用典型实例 76 实例064 在TListBox组件间交换数据 76 实例065 为TListBox添加水平滚动条 77 实例066 将数据库数据添加到组合框 78 实例067 借助绑定控件实现数据选择录入 79 2.5 TListView控件应用典型实例 80 实例068 TListView列表拒绝添加重复信息 80 实例069 将数据库数据添加到TListView控件 82 实例070 用TListView控件制作导航界面 83 实例071 在TListView控件对数据排序或统计 84 实例072 在TListView组件绘制底纹 86 实例073 在列表视图拖动视图项 87 2.6 TTreeView控件应用典型实例 88 实例074 将数据库数据显示到树视图 88 实例075 用TTreeView控件制作导航界面 90 实例076 TTreeView组件遍历磁盘目录 91 实例077 TTreeView组件在数据库的应用 92 2.7 TStringGrid控件应用典型实例 94 实例078 程序运行时对
BDB是跨数据库平台的数据库设计和自动安装工具、
支持Oracle、MS SQLServer、Access、MySQLSQLAnyWhere、Sybase数据库。
通过BDB可以快速建立数据库模型、并随时与实体数据库进行双向同步。
同时它还可以为您的应用程序创建数据库自动安装(或自动升级)程序、
以及实现不同数据库平台间数据库迁移等。

此外、在BDB提供了对开发语言的支持、
其数据库结构定义文件采用XML标准格式、
并且开放了外部读取数据库结构的源程序(C#/Delphi/JAVA)、
您可以通过使用BDB来简化软件开发和部署过程:

1、数据库设计、自动安装:支持和数据库之间的正向和反向工程。
既可以通过BDB进行新的数据库设计,自动创建或更新至实体数据库、
也可导出现有数据库结构,并为其创建数据库自动安装程序。
2、跨数据库平台:只需按熟悉的数据库平台进行一次定义,就可在上述各个
数据库平台进行数据库自动安装和任意迁移。系统会自动进行语法、数据类型转换。
3、数据库迁移:在不同数据库平台间进行数据库结构(包括数据表、索引、约束、
视图和存储过程对象)和数据迁移。
4、查询分析、数据表查询、数据编辑功能。提供专用的SQL编辑器、
支持SQL语法高亮、快速脚本输入、脚本预定义等。
5、预输出创建、更新SQL脚本。
6、提供数据导入、导出功能。支持从Excel导入导出的双向编辑操作。
7、对开发语言的支持。开放的数据库物理结构文件格式、并提供外部调用源程序,
包含C#、Delphi、JAVA三个版本。
8、数据库物理结构定义和实体数据库之间的比对更新、同步。
9、可为可重用属性创建数据字典定义、并进行同步。
10、采用方案定义、支持多个工程模式。
11、提供自定义功能、可以根据需要扩展数据库结构定义文件。
12、支持多语言(目前版本语言:/英文)。并提供了新的语言定义的说明、
可根据需要增加新的语言支持。


版本更新:
1、2007.11.23 查询分析清除数据效率改善处理
2、2007.11.23 加入Sybase支持。
3、2007.11.26 状态栏调整。
4、2007.11.26 加入执行断功能。
5、2007.11.26 数据表头资源增加备注项。
6、2007.11.26 查询分析加入desc [data]取当前数据表数据语法支持
7、2007.11.26 增加启动界面
8、2007.11.26 界面默认背景颜色更改。
9、2007.11.28 方案列表增加双击设置为当前方案处理。
10、2007.11.28 更正MySQL下删除索引语法问题。
11、2007.11.28 Oracle、MySQL下导入数据增加禁用、重新启用外键约束处理。
12、2007.11.28 更正MySQL下处理导入日期类型字段数据问题。
13、2007.11.28 更正SQLServer下处理sql_variant、uniqueidentifier类型字段问题。
14、2007.11.28 更正数据库迁移自定义数据库链接问题。
15、2007.11.29 更正根据外键引用关系进行数据表排序问题。
16、2007.11.30 更正初次保存数据表结构覆盖索引页记录问题。


website: http://www.bainsoft.com/
support: bainsoft@163.com
blog: http://blog.csdn.net/12rain

5,388

社区成员

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

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