0

Visual Studio 2010 でボタンのクリック時に実行するクエリを取得しようとしています。ExecuteReader ステートメントに到達するとすぐに、次のように表示されます。

「オブジェクト名 'タスク' が無効です。」

テーブル名は task で、フィールド名も task です。SQL 接続は正常に実行されます。何が問題なのですか?

        string MyConString = "Data Source=.\\SQLExpress;Initial Catalog=filter;Integrated Security=SSPI;";
        SqlConnection connection = new SqlConnection(MyConString);

        string mycmd;
        connection.Open();
        SqlCommand cmd;
        //mycmd = "select task from task where task='" + textBox3.Text + "'";
        mycmd = "SELECT task.id FROM task WHERE task.task='plan1'";
        cmd = new SqlCommand(mycmd, connection);
        SqlDataReader sdr;
        string val = "";
        //try
        //{
        //cmd.ExecuteNonQuery();
        sdr = cmd.ExecuteReader();
4

1 に答える 1

0

最初の提案は、列名またはテーブル名を task から別のものに変更することです。そのため、解決策として 2 つの異なる名前を保持してください。

テーブルエイリアスを使用して行うことができます:

mycmd = "SELECT t.id FROM task t WHERE t.[task]='plan1'";
于 2013-05-28T11:39:20.667 に答える