1

私は髪を引き裂いているので、誰かがこれを手伝ってくれることを願っています。

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;
4

0 に答える 0