• delphi ----处理SQL server主键自增,并给定值


    获取一个表中最大的值。

    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');

  • 相关阅读:
    JS完整获取IE浏览器信息
    C# DataSet和DataTable详解
    linux下mysql导入数据
    Linux上安装mysql
    JDK6+tomcat7+mysql官网下载地址
    Linux常用命令
    mysql 授权
    tomcat7.0学习笔记
    struts2 <s:property/>标签的使用输出时间格式转换
    Linux如何查找软件安装路径?
  • 原文地址:https://www.cnblogs.com/michellexiaoqi/p/8031448.html
Copyright © 2020-2023  润新知