• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

delphi----处理SQLserver主键自增,并给定值

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

获取一个表中最大的值。

function GetNEWID(tablename: string): string;
begin
  Result:='';
  with DMW_Public.DQ_Pub do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT IDENT_CURRENT('''+tablename+''') + IDENT_INCR('''+tablename+''') as newid');
    Open;
    if(Fieldbyname('newid').AsString='') then result:='0'
    else
      Result:=Fieldbyname('newid').AsString;
  end;
end;

 

//IDENT_CURRENT( 'tablename' ) 返回为指定的表或视图生成的最后一个标识值。所生成的最后一个标识值可以针对任何会话和任何作用域。

IDENT_INCR ( 'tablename' ) 返回增量值(返回形式为 numeric (@@MAXPRECISION,0)),该值是在带有标识列的表或视图中创建标识列时指定的。

 

SID:= GetNEWID('表名');//取ID

tbSql.add('set identity_insert  表名 on ');

然后进行正常插入数据操作。

sInsertMain:=' insert into raw_mains(id,.....)  '
      +' values ('''+SID+''',)   ';
tbSql.add(sInsertMain);

tbSql.add('set identity_insert  表名 off');


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
matlab 画三维图函数 - 编著人发布时间:2022-07-18
下一篇:
matlab GUI界面编程总结发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap