Z
zip321
Unregistered / Unconfirmed
GUEST, unregistred user!
[][]我在做的一个程序是一个三层结构的,我用DELPHI写了一个对象,其中有一个方法function TEST: integer;
我在DELPHI中调试通过,没有任何问题。
但在ASP调用时,出现“错误类型”,我找了错误的地方是ADODSET.POST;这一行出错,因为注释这一行就没有了问题,程序正常。
如果我把数据库连接改为SQLSERVER,如:
ADODSET.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data Source=KEVIN';
则在ASP中调用该方法又没有任何错误,而且POST成功。
我认为有可能是打开ACCESS数据库有什么特殊要求,在ADODSET.ACTIVE := True;前加了几行如下代码:
ADODSET.CursorType := ctDynamic;
ADODSET.CursorLocation := clUseClient;
ADODSET.LockType := ltOptimistic;
也是无济于事!!!!!!!
请各位帮忙,这问题已经困绕了我一天!
function TBKDataObj.Test: Integer; safecall;
var ADODSET: TADODataSet;
begin
ADODSET := TADODataSet.Create(nil);
try
ADODSET.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/BKData/test.mdb;Persist Security Info=False;User ID=admin;';
ADODSET.Active := False;
ADODSET.CommandType := cmdText;
ADODSET.CommandText := 'select * from t_test';
ADODSET.Active := True;
ADODSET.Append;
ADODSET.FieldValues['id'] := 12;
ADODSET.FieldValues['code'] := '440603215';
ADODSET.FieldValues['name'] := 'test';
ADODSET.FieldValues['description'] := 'This is test';
ADODSET.Post;
Result := ADODSET.RecordCount;
finally;
ADODSET.Close;
ADODSET.Free;
end;
end;
我在DELPHI中调试通过,没有任何问题。
但在ASP调用时,出现“错误类型”,我找了错误的地方是ADODSET.POST;这一行出错,因为注释这一行就没有了问题,程序正常。
如果我把数据库连接改为SQLSERVER,如:
ADODSET.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data Source=KEVIN';
则在ASP中调用该方法又没有任何错误,而且POST成功。
我认为有可能是打开ACCESS数据库有什么特殊要求,在ADODSET.ACTIVE := True;前加了几行如下代码:
ADODSET.CursorType := ctDynamic;
ADODSET.CursorLocation := clUseClient;
ADODSET.LockType := ltOptimistic;
也是无济于事!!!!!!!
请各位帮忙,这问题已经困绕了我一天!
function TBKDataObj.Test: Integer; safecall;
var ADODSET: TADODataSet;
begin
ADODSET := TADODataSet.Create(nil);
try
ADODSET.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/BKData/test.mdb;Persist Security Info=False;User ID=admin;';
ADODSET.Active := False;
ADODSET.CommandType := cmdText;
ADODSET.CommandText := 'select * from t_test';
ADODSET.Active := True;
ADODSET.Append;
ADODSET.FieldValues['id'] := 12;
ADODSET.FieldValues['code'] := '440603215';
ADODSET.FieldValues['name'] := 'test';
ADODSET.FieldValues['description'] := 'This is test';
ADODSET.Post;
Result := ADODSET.RecordCount;
finally;
ADODSET.Close;
ADODSET.Free;
end;
end;