問題タブ [reserved-words]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - IndexedDBのCursorオブジェクトの関数に名前を付けるために予約済みのキーワード「continue」を使用するのはなぜですか?
http://www.w3.org/TR/IndexedDB/#widl-IDBCursor-continueによると、IDBCursorオブジェクトには「continue」および「delete」という名前のメソッドがあります。それらの予約キーワードではありませんか?なぜ彼らは仕様でこれらの名前を使用するのでしょうか?
私のjavascriptコンパイラは、予約されたキーワードとその本当に迷惑なことについて私に警告し続けます。
php - PHP「do」という名前の関数を作成する方法は?
「do」という名前のメソッドを持つライブラリを見ました
パーサーを完全にバグる 解析エラー: 構文エラー、予期しない T_DO、期待される T_STRING in ...
解析エラー: 構文エラー、予期しない T_DO、T_STRING または T_VARIABLE または '$' が必要です
Gearman ちなみに「do」機能を使っています。
php - Symfony でのモデル名としての「コンテナ」の使用
ファイルContainer
に含めた Symfony アプリケーションで呼び出されるエンティティがあります。schema.yml
symfony doctrine:build --all-classes
次に、タスクを使用してモデル、フォーム、フィルターを再生成しました。
$strain->getContainer()
たとえば、アクションでを使用しようとすると、showSuccess
オブジェクトがまったく返されません。テーブルcontainer_id
内のレコードへの参照があることを再確認しました。container
さらに、Strain
オブジェクトを編集して との関係をリンク解除しようとするとContainer
、フォームは正しく保存されますが、container_id
列には古い値が保持されます。
Container
Symfony や Doctrine で が予約語なのか、そのようなものなのか知っていますか? 何が起こっている可能性がありますか?
ありがとう!
sql-server - 'Group' は予約済みのキーワードであり、エスケープしない限りエイリアスとして使用することはできません
Entity Framework 4.1 をリポジトリ パターンで使用しています (データベースは既に存在します)。私の問題は、GROUP というテーブル (予約済み) の存在です。これは、変更できない本番データベースです。
したがって、上記のすべての手法を使用すると、次のエラーが発生します。
'Group' は予約済みのキーワードであり、エスケープしない限りエイリアスとして使用することはできません。
テーブル名として以下を使用するように Entity Framework に指示することは可能ですか: [GROUP]
編集 db コンテキストを持つクラスは次のようになります (削除されます)
前もって感謝します
ruby-on-rails - 予約語のベストプラクティス? レールの変数の名前を変更する
多くの場合、モデル/変数名が textmate で予約語 (つまり、service、attr など) として強調表示されているのを見つけました。
これが問題を引き起こすのではないかと心配して、通常は別の名前に変更します (service -> srvice、attr -> atr)。
この件について少しグーグルで検索しましたが、検索用語が少しトリッキーなので、あまり見つかりませんでした
予約語である変数の名前を変更する方法に関するベスト プラクティスはありますか? アンダースコアなどを前に付けるなど (_service、_attr)
mysql - mysql - 予約名を列名として使用
このクエリを実行しようとしていますが、実行されません
そしてエラーが発生する
SQL 構文にエラーがあります。1行目の「pd.id = ng.post_id ORDER BY ng.order」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください
`ng.order` と `ng`.`order` を試してみましたが、まだ実行できないようです。
どんな助けでも大歓迎です
scala - 「r0」、「r1」などはScalaで特別な意味を持っていますか?
一部のケースオブジェクトに「r0」、「r1」などの名前を付けると、コンパイルエラーが発生します。別の名前を使用すると、コードは期待どおりにコンパイルおよび実行されます。その理由は大歓迎です!
コード:
パッケージ「qndTests2」には、Test.scalaという1つのファイルのみが含まれており、ファイルの全内容は上記のとおりです。「r0」〜「r3」を「A」〜「D」に置き換えるとコンパイルされます!理由はわかりません...私はとても疲れていて、明らかな何かを見落としていますか?
.net - SqlParameter で予約語を使用すると、「スカラー変数を宣言する必要があります」というエラーが発生する
データベース バックエンドを Access から SQL Server に移行しています。
フィールド名の 1 つがKey
. NowKey
はAccess と SQL Server の両方で予約語であるため、Access での回避策は常にフィールド名を角かっこで囲むことでした。
Access に接続するとOleDBParameter
、それぞれのコレクションが生成されますOleDBCommand
。CommandText
実行時にコマンドを確認すると、 UPDATE Foo SET [Key]=? WHERE etc
OleDB/Access には名前付きパラメーターがなく、?
. それはすべて大丈夫でした。
現在に戻ると、SQL Server を使用して と で同様のことをSqlCommand
行いSQLParameter
ます。したがって、SQL は古い疑問符のようなものを好まず、名前付きパラメーターの使用を開始する必要があるため、実行時に は次のようにCommandText
読み取ります。UPDATE Foo SET [Key]=@Key WHERE etc
問題は、アプリケーションがこのコマンドでチョークして、次のように言っていることです。
Incorrect syntax near 'varchar'. Must declare the scalar variable "@Key"
影響を受けるのは、フィールド名Key
を持つテーブルのみです。他のすべては SQL への移行を生き延びており、他のテーブル (フィールド名の予約語がない) は問題ありません。
解決策の 1 つは予約語をフィールド名として使用しないことだと理解していますが、いつものように予約語を回避できるような回答を期待しています。
c# - クラス名は、クエリ プロバイダーが ELINQ クエリを ESQL にコンパイルするときの予約語です。
次のエラーが表示されます。
System.Data.DataException: データベースの初期化中に例外が発生しました。詳細については、InnerException を参照してください。---> System.Data.EntitySqlException: 'All' は予約済みのキーワードであり、エスケープしない限りエイリアスとして使用できません。行 1、列 1 付近。 System.Data.Common.EntitySql.CqlParser.yylex() の System.Data.Common.EntitySql.CqlParser.yyparse() の yylex() System.Data.Common.EntitySql.CqlParser.Parse(String query) の System. System.Data.Common.EntitySql.CqlQuery.CompileCommon(String commandText,
...<中略>...
System.Data.Entity.Infrastructure.DbQuery
1.System.Linq.IQueryable.get_Provider() at System.Linq.Queryable.Where(IQueryable
1 ソース、Expression`1 述語) All.cs の MyNamespace.All.GetEmptyList(): 35 行目
これは、テスト クラスの名前が「All」であることが原因のようです。
MyItems
プロパティは、Service
基本クラスのパブリック プロパティです。
クラス名が ESQL 型に変換され、予約語になっていると思います。ただし、私はそれを (直接) コントロールすることはできません。また、ESQL と TSQL は私の関心事ではないため、この問題がバブルアップするとは思いません。クラスの名前を変更します(「All2」に変更すると、すべて正常に機能します。)
式パーサー (具体的には、多分ExpressionConverter.Convert()
orのどこでもTranslateInlineQueryOfT
) が予約語を自動的にエスケープしないのはなぜですか?
この問題を解決する方法はありますか? クラス名の変更はハックです。
(MS SQL 2008 R2 に対して、.NET 4、EF 4.1 でコード ファーストを実行します。)