送分了,快来拿分!!!(200分)

  • 主题发起人 主题发起人 zip321
  • 开始时间 开始时间
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中调试通过!!!!!
好了,还是分分吧!
 
可能是数据库驱动程序的版本问题。
 
后退
顶部