10

状況があります。レコードを追加したいGasFlowRatesという名前のアクセステーブルがあります。同様のテーブルCommonStationに対して挿入クエリを実行しようとすると、次のエラーが発生します。

「エラーhy000:構文エラー、クエリの不完全なクエリ句で」

コードは次のとおりです。

using System;
using System.Data.Odbc;

class MainClass
{
static void Main(string[] args)
{
    string connectionString = "Dsn=Gas_meter";
    string sqlins = "";
    OdbcConnection conn = new OdbcConnection(connectionString);

    OdbcCommand cmdnon = new OdbcCommand(sqlins, conn);
    conn.Open();

    try
    {
       cmdnon.CommandText = "INSERT INTO 'Common station' ( S1Flow, S2Flow, S3Flow, S4Flow) VALUES (9999,999, 999, 999)";
        //Once the above line works replace it with cmdnon.CommandText= "INSERT INTO Gas Flow Rates ( S1Flow, S2Flow, S3Flow, S4Flow) VALUES (9999,999, 999, 999)"
        int rowsAffected = cmdnon.ExecuteNonQuery();
        Console.WriteLine(rowsAffected);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
    finally
    {
        conn.Close();
    }
}
}

そのエラーを克服するにはどうすればよいですか?

4

4 に答える 4

52

空白の項目を角括弧で囲みます。

[Common station]

次に、データベースを設計した男を平手打ちします。

于 2011-06-27T20:03:42.257 に答える
6

SELECT * FROM [My Crazy Table With Spaces and Other Chars!]

テーブル名とフィールド名を「引用」するには括弧を使用します。

于 2011-06-27T20:03:26.783 に答える
4
  cmdnon.CommandText = "INSERT INTO '[Common station]' ( S1Flow, S2Flow, S3Flow, S4Flow) VALUES (9999,999, 999, 999)";
    //Once the above line works replace it with cmdnon.CommandText= "INSERT INTO Gas Flow Rates ( S1Flow, S2Flow, S3Flow, S4Flow) VALUES (9999,999, 999, 999)"
于 2011-06-27T20:03:11.570 に答える
2

私が知っているパーティーに遅れましたが、ここで私自身の問題を解決しました...SQL DbへのODBC接続を使用してアクセス2007でプレイしています。

テーブル名はEmployee_Appointment Extra Detail Custom 選択する構文は以下の通り SQlRecordSet.Open "Select * from [Employee].[Appointment Extra Detail Custom]", Conn, adOpenStatic, adLockOptimistic

これにより、他の誰かが数時間のプレイを節約できることを願っています!

于 2017-10-27T15:35:23.680 に答える