我希望有人可以帮我解决这个问题,因为我正在把头发撕掉。
我正在创建一个使用SQL Server Compact存储一组数据的应用程序。我正在使用TADOQuery连接到工作正常的服务器,我能够创建表并将值插入数据库。然后,我可以在Management Studio中检查这一点,以确保所有内容都已成功完成。
我遇到的问题是当我尝试从表中检索数据时。在Management Studio中,我可以执行标准SQL查询
SELECT * FROM Components
这很高兴地返回一个包含组件表中存储的所有数据的表。
然而,当我使用TADOQuery在Delphi中执行此代码时,我得到一个“对象已打开”错误。我使用的代码如下。
Query := TADOQuery.Create(nil);
Query.ConnectionString := 'Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=c:\temp\test.sdf';
Query.SQL.Text := 'SELECT * FROM Components';
Query.Open;
然后导致“对象被打开”错误。
任何想法都将不胜感激!
干杯,
阿里
的更新 的
我更新了我的代码如下,但我仍然得到相同的错误。有什么想法吗?
Query := TADOQuery.Create(nil);
Connection := TADOConnection.Create(nil);
Connection.ConnectionString := 'Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5; Data Source=c:\temp\test.sdf';
Connection.LoginPrompt := False;
Query.Connection := Connection;
DataSource := TDataSource.Create(nil);
Query.DataSource := DataSource;
Query.SQL.Text := 'SELECT * FROM Components';
Query.Open;