私は髪を引き裂いているので、誰かがこれを手伝ってくれることを願っています。
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;