library del;uses
  SysUtils,
  Classes,
  Unit1 in 'Unit1.pas' {Form1};{$R *.res}
exports
   delrec name 'delinfo';begin
end.
-------------------------------unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB;type
  TForm1 = class(TForm)
  private
    { Private declrations }
  public
    { Public declarations }
  end;
function delrec(str:string):integer;stdcall;implementation{$R *.dfm}
function delrec(str:string):integer;
var
  query: TADOQuery;
begin
  query.ConnectionString:='Provider=MSDASQL.1;Persist Security Info=False;User ID=system;Data Source=ortest' ;//开始出错行
  query.Close;
  query.SQL.Clear;
  query.sql.Add(str);
  try
    begin
    query.ExecSQL;
    result:=1;
    end
  except
    result:=0
  end;end;
end.

解决方案 »

  1.   

    function delrec(str:string):integer;
    var
      query: TADOQuery;
    begin
      //创建之前要初始化
      CoInitialize;
      //先要创建对象!
      query:=TADOQuery.create;
      query.ConnectionString:='Provider=MSDASQL.1;Persist Security Info=False;User ID=system;Data Source=ortest' ;//开始出错行
      query.Close;
      query.SQL.Clear;
      query.sql.Add(str);
      try
        begin
        query.ExecSQL;
        result:=1;
        end
      except
        result:=0
      end;
      //然后释放对象
      query.free;
      //结束初始化
      CoUninitialize
    end;
      

  2.   

    我在DLL包含的FORM中放上ADO组件后,被主程序调用时出现错误,错误如下:class EOLeSysError with message '标记没有引用存储',不知何故,请教各位高手
      

  3.   

    楼上的,可以看看myling(阿德)的代码,还有就是在单元里加上use ComObj, ActiveX;
      

  4.   

    CoInitialize;这句要出错:Not enough actual parameters
    请问要填上什么参数啊?
      

  5.   

    已经知道了!
    嘿嘿!
    用CoInitialize(nil)就可以喽!
      

  6.   

    在主程序中把数据库连接传进去?要不你要建立多少数据库连接呀
    uses ADODB;
    function delrec(ADOConnection :TADOConnection;str:string):integer;stdcall;
    var
      Query :TADOQuer;
    begin
      FADOConnection :=ADOConnection;
      Query :=TADOQuery.Create(nil);
      with Query do
      begin
        Connection :=FADOConnection;
        使用
        Close;
        Query.Connection :=nil;
        Free;  
      end;
    ...
    end;
      

  7.   

    function delrec(str:string):integer;
    var
      query: TADOQuery;
    begin
      Result := 0;
      //创建之前要初始化
      CoInitialize(nil);
      //先要创建对象!
      try
        query:=TADOQuery.create;
        try
          query.ConnectionString:='Provider=MSDASQL.1;Persist Security 
             Info=False;UserID=system;Data Source=ortest' ;//开始出错行
          query.SQL.Clear;
          query.sql.Add(str);
          try
            query.ExecSQL;
            result:=1;
          except
            //将出错信息写入到你程序的日志文件中
            Abort; //不要提示异常信息而让程序停下来
            result:=0
          end;
        finally
          //然后释放对象
          query.free;
        end;
      finally
        //结束初始化
        CoUninitialize(nil);
      end;
    end;