問題タブ [oledbcommand]

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.

0 投票する
4 に答える
5759 参照

c# - OleDbCommand の実行中にエラーが発生しました..「スカラー変数 "@MaxID" を宣言する必要があります。」

0 投票する
1 に答える
1512 参照

c# - OLDEB sql selectコマンドでフィールド値が特定の文字長であるかどうかを確認する方法は?

C# OleDB 接続を使用してアクセス データベースから読み取っています。長さが 3 文字未満の結果は必要ありません。

現在のコードで「無効なパターン文字列」エラーが表示されます。なぜこのエラーが発生するのですか?どうすれば修正できますか?

((Len(CALLNO))>=3)このコードがなくても問題なく動作します。ただし、行を追加すると、リーダーが実行されると「無効なパターン文字列」という例外が発生します。

私が試したいくつかのこと:

((Len(CALLNO))>=3)useの代わりに(CALLNO not like '')、これはエラーを引き起こさないので、括弧がありません。

'_',などの単一文字のワイルドカードを使用しようとすると、使用し'_ _'た代わり'_ _ _'に、同じ「無効なパターン文字列」エラーが発生します。実際、エラーをスローしないことがわかった唯一のものは、空の文字列と完全なワイルドカードです。((Len(CALLNO))>=3)(CALLNO not like '_')'''%'

また、アクセスでクエリ文字列から直接クエリを実行しましたが、どのようなエラーも発生しません。

情報をありがとう、

LMB

0 投票する
1 に答える
1787 参照

.net - DbCommandBuilderが期待どおりに機能しない

データベーステーブルからデータをフェッチして変更し、データベースプロバイダーやデータベース構造に依存せずに更新したいのですが、これはライブラリの一部になるためです。

私の最初の試みは次のとおりでした:

が生成されなかったため、これは機能しませんでした。ドキュメントには、CommandBuilder生成する必要があると記載されていましたが、Update-自動的に生成されました。Insert-DeleteCommand

でも追加しても

それは動かなかった。さらに調査した結果Commands、生成されたものはすべてではなくCommandBuilder挿入されたため、役に立たないことがわかりました。それはのようなものを生成しました?@param1ParametersINSERT INTO tbl1 (field1, field2, field3) VALUES (?, ?, ?)InsertCommand

CommandBuilderはシンプルで、のような複雑なものはないので、本当に使いたいJOINSです。

0 投票する
1 に答える
3838 参照

c# - OleDbCommandBuilder を使用した OleDbDataAdapter.Update()

C# と OleDb を使用して Oracle データベースにアクセスしています。クエリからデータを正常に取得しましたが、を使用してデータベースを更新できませんOleDbAdapter.Update()。私の更新コードは以下のとおりです。(「Adapter」はOleDbAdapter、データベースからデータを正常に引き出すために使用されるオブジェクトへの参照です。)

現在、「コマンドが準備されていません」というメッセージが表示されます。上記のコードの最初の行のエラー。任意の提案と私は非常に感謝しています.

(編集: ds は DataSet です)

0 投票する
2 に答える
1706 参照

c# - UPDATE ステートメントの構文エラー Visual Studio C#.net

私は、C#.net でコーディングし、OleDbCommand を使用するときに、UPDATE ステートメントの正しい構文を理解しようとしています。私が持っているものは正しいと思いますが、「UPDATEステートメントの構文エラー」というエラーがまだ発生しているため、間違いありません。私の更新ボタンのコードは以下に掲載されています。多くのサイト (Stackoverflow を含む) をチェックして、SQL ステートメントを作成するための正しい構文と標準を確認しましたが、構文エラーが発生しないサイトはまだ見つかりませんでした。どんな提案も役に立ちます。ありがとう!

0 投票する
2 に答える
5793 参照

c# - MS Access の INSERT INTO ステートメントの構文エラー

通常の状態で機能する SQL Insert Into コマンドがあります。つまり、すべてのテキストボックスに入力すると、データがデータベース (Acces db) に送信されます。

しかし、1 つのテキストボックスを「忘れる」と、「INSERT INTO ステートメントの構文エラー」が表示されます。どうすればこれを回避できますか?

すべてのテキストボックスに値がある場合、問題はありません。1つまたは2つのテキストボックスを空のままにしておくと、エラーメッセージが表示されます:INSERT INTOステートメントの構文エラー

0 投票する
1 に答える
660 参照

excel - WHERE句を使用して空白行のExcelファイルを読み取るときに不明なエラーが発生しました

したがって、クライアントはExcelファイルをアップロードし、Windowsサービスを使用して、定期的に新しいファイルを取得し、次のようにコンテンツをSQLサーバーに一括ロードします。

下部に空白行がある場合でも、ほとんどの場合はうまく機能します(WHERE句がそれを処理します)。しかし、時々、下部に多くの(約100万)空白行があるこれらの奇妙なファイルを取得し、メッセージとして不明の例外を取得します。OleDbCommand宣言からWHERE句を削除すると、ファイルは正常にロードされますが、100万行の空白行も挿入されます。これに対処する方法について何かアイデアはありますか?

0 投票する
2 に答える
2654 参照

c# - OleDbDataAdapter Fillメソッドを使用して、決定された数の行のみを追加するにはどうすればよいですか?

DataSetに行を追加したいのですが、特定の数の行のみを追加します(「定義されたフィールドが多すぎます」という例外を回避するため)。これは私がこれまでに試したことです:

例外:SELECTステートメントに、スペルが間違っているか欠落している予約語または引数名が含まれているか、句読点が正しくありません。

例外:FROM句の構文エラー。

別のサイトから入手したものも試してみました

例外:定義されているフィールドが多すぎます。

他に何を試すべきかわかりません、何か提案はありますか?

0 投票する
2 に答える
1105 参照

sql-server - SSIS で並列 OLE DB コマンドが実行されないようにする

最初の「高度な」SSIS パッケージで並列処理の問題が発生しました。

まず、パッケージの最後は次のとおりです。 SSIS パッケージ

このパッケージは何をしますか :

  • Excel からデータを読み込み、いくつかの操作/集計/コントロールを実行します
  • コントロールに基づいて、行を統合するか (左ブランチ)、統合しないか (右ブランチ) を決定します。
  • 問題がなければ、いくつかの計算が実行され、行が追加され、いくつかの統計情報を含むログが書き込まれます (これは左ブランチの OLE DB コマンドです)。
  • 行が拒否された場合、それは拒否ファイルに追加され、いくつかの統計とともにログが書き込まれます (右ブランチの OLE DB コマンド)

ファイルのロードごとに 1 つのログ行のみが生成されるため、成功ログと失敗ログの情報は同じ行に書き込まれます (同じ実行中に複数のファイルをインポートできるため、実行 GUID とインポートされたファイル名によって識別されます)。ただし、入力された列は同じではありません。 .

どちらの OLE DB コマンドも、次のような同じストアド プロシージャを呼び出します。

  • 行が存在するかどうかを確認します
  • 存在しない場合は、新しい行を追加します
  • それ以外の場合は、正しい列を更新します

誰かが問題を提起するまで、これはかなりうまく機能していました。実行により、成功情報を含む行と拒否された情報を含む行の 2 つの行が生成されることがあります。
分析した後、両方の OLE DB コマンドが同時に実行される可能性があることに気付きました。そのため、どちらも既存の行を認識せず、両方とも新しい行を挿入します。

OLE DB コマンドが同時に実行されないようにする方法があるかどうかを知りたいです。ここではパフォーマンスは問題にならないので、実行時間が長くなるかどうかは気にしません。

私が見る唯一の解決策は、テーブルに一意の制約を追加してエラーをキャッチすることですが、これが本当に「エレガントな」解決策であるかどうかはわかりません(「通常の」UPDATEステートメントを複製するという考えは好きではありませんおよび「例外」のもの)なので、例外をキャッチする必要のない解決策を探しています!
もちろん、他に良い解決策がなければ、そうするでしょう。