如何在C/S下用DELPHI 向MSSQL 6.5~7.0 追加数据?

YF22 2000-01-25 11:12:00
各位高手,我粗学DELPHI used in c/s 下,如何编写在多台机器下同时用的DELPHI
向MSSQL数据库APPEND OR DELETE DATA,请多指教!
...全文
241 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
光明山人 2000-01-26
  • 打赏
  • 举报
回复
不好意思,灌水!
你可能是想怎样解决多用户并发问题,不知道我有没猜对?

如果用SQL,在Delphi中可以用TQuery构件达到,只要往TQuery的SQL属性中加入SQL语句(insert into ...),然后执行它的ExecSQL方法即可。
也可以用Cursor的方法,用TTable.AppendField(...)然后TTable.Post。

也许你真正想解决的是怎样使键值不冲突,如果用TQuery,你可以写成这样:
insert into tablename (keyfieldname, ...) values ((select max(keyfield) from tablename)+1, ...)
(不好意思,我没试过在将子查询的结果特别是它的运算结果放在SQL语句中,我明天就去试)

如果都不行,我们一贯采取的策略是先取得最大的键值,然后变化(数值就是+1),用于新的键值。
LaoZheng 2000-01-25
  • 打赏
  • 举报
回复
query.close;
Query.SQL.Clear;
Query.SQL.add('insert into tablename(field1,field2) values(:v1,:v2)');
Query.parambyname(':V1').asinteger:=strtoint(edit1.text);
Query.parambyname(':v2').asinteger:=strtoint(edit1.text);
Query.ExecSQL;



LaoZheng 2000-01-25
  • 打赏
  • 举报
回复
服务器:create stored procedure sp_sample @firstpara int ,@secondpara int as
insert into tablename values @firstpara,@secondpara
客户端:
query.close;
Query.SQL.Clear;
Query.SQL.add('insert into tablename(field1,field2) values(:v1,:v2)');
Query.parambyname(':V1').asinteger:=strtoint(edit1.text);
Query.parambyname(':v2').asinteger:=strtoint(edit1.text);
Query.ExecSQL;



hawkview 2000-01-25
  • 打赏
  • 举报
回复
服务器:create stored procedure sp_sample @firstpara int ,@secondpara int as
insert into tablename values @firstpara,@secondpara
客户端:
storedprocddure1.prepare;
storedprocedure1.parambyname(@firstpara).asinteger:=strtoint(edit1.text);
storedprocedure1.parambyname(@secondpara).asinteger:=strtoint(edit1.text);
storedprocedure1.open;
ahfei 2000-01-25
  • 打赏
  • 举报
回复
有问题吗?没什么困难呀!
Firing_Sky 2000-01-25
  • 打赏
  • 举报
回复
对你来说,修改的仅仅是数据源而已啊!
记得在带参数时要使用
SQL.Unprepare
SQL.Prepare
Powerbird 2000-01-25
  • 打赏
  • 举报
回复
最好还是用Media或第三方控件以Client/Server模式编程。这样可以免除维护客户端的麻烦。
ahfei 2000-01-25
  • 打赏
  • 举报
回复
有本书非常好,是李维写的《delphi3入门到精通》宇航出版社,是讲数据库开发比较好的一本书
Michael 2000-01-25
  • 打赏
  • 举报
回复
用组件如TTable、TQuery及SQL语句都可以,仅要注意后端的数据库SQL SERVER的设置就可,当然C端要注意错误的检测。

5,388

社区成员

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

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