問題タブ [executenonquery]
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.
c# - VARCHAR(MAX) および > 8000 バイト / ExecuteNonQuery
経由で > 8000 文字 (Web ページから送信) を挿入しようとしていますExecuteNonQuery
。ストアド プロシージャは、パラメータを として定義しますVARCHAR(MAX)
。コラムはVARCHAR(MAX)
. 理論的には、2GB のデータを渡すことができるはずです。
ただし、SSSMS での簡単なテストでは、次のことを行います。
したがって、SSMS クエリ自体の制限である可能性がありますが、コードからデータを渡すと、まだ切り捨てられます。基本的/明白な何かが欠けていると確信していますが、それを理解できません。
8000 を超えるデータを渡すにはどうすればよいですか?
注: SSMS に関する回答は必要ありません。これは単なるテストでした。タイトルの問題を C# と で解決しようとしていExecuteNonQuery
ます。
私の質問はここで答えられました: How can I insert more than 8000 characters in a VARCHAR(MAX) column with ExecuteNonQuery?
キャッシングの問題でした。
c# - ExecuteNonQuery を使用して VARCHAR(MAX) 列に 8000 文字を超える文字を挿入するにはどうすればよいですか?
ExecuteNonQuery
(およびDatabaseFactory.CreateDatabase()
MS Practices Enterprise Libraryから)8000文字以上(Webページから送信)を挿入しようとしています。ストアド プロシージャは、パラメータを として定義しますVARCHAR(MAX)
。コラムはVARCHAR(MAX)
. 理論的には、2GB のデータを渡すことができるはずです。
8000 を超えるデータを渡すにはどうすればよいですか? ブレークポイントを設定しましたstring.Length
が、実際には 8K を超えています。
ストアド プロシージャ:
表 (すべてが であることを示すためvarchar(max)
):
.
アップデート:
コードを変更したところ、これは機能しているように見えますが、違いはわかりません。
sql - SQL-クエリにない文字列からの構文エラー
私のアプリケーションでは、複数の場所で奇妙なエラーが発生します。基本的に、SqlManagerとexecuteNonQuery()
メソッドを使用してデータベース内のストアドプロシージャを呼び出しますが、次のような例外が発生します。
'44444'付近の構文が正しくありません
VisualStudioで。問題は、私の値はどれも「44444」と等しくなく、その文字列はストアドプロシージャに含まれていないということです。SQL Serverプロファイラーを使用してトレースを開始すると、値が表示されません。
私はこの問題をグーグルで調べてみましたが、これに近づいた唯一の問題は、null値が外部キーに入れられたときに同様の問題を抱えている人でした(私の値はどれもnullではありません)。
ストアドプロシージャを呼び出す関数:
ストアドプロシージャ:
クエリ/ストアドプロシージャにない文字列によって構文エラーがスローされるという同様の問題が発生したことはありますか?
編集:VisualStudio2012とSQLServerManagement Studio 2012を使用しており、列の名前の変更によるストアドプロシージャのタイプミスを修正しました。
更新
Management Studioでストアドプロシージャを実行した後、そこにもエラーが表示されたので、vbコードにエラーが含まれていないはずです。
Management Studioによってスローされるエラーも、VS2012の例外で発生するエラーとは異なります。
メッセージ102、レベル15、状態1、プロシージャtbInvc_UTrig、行14
「44444」の近くの構文が正しくありません。
c# - 別のストアドプロシージャからのストアドプロシージャの行数
さまざまなストアドプロシージャがあります。ストアドプロシージャを実行し、行数(呼び出されたプロシージャによって返された行の数)のみを返すためにストアドプロシージャが必要であり、c#コードで受け取る必要があります。
これを行うための最良の方法は何ですか?
c# - C# を取得してデフォルトを SQL Server に挿入する
テーブルのデフォルトの制約として SQL Server に格納されている値を優先して、一部の値を無視する必要があるように、SQL Serverに値INSERT
を格納するにはどうすればよいですか? string[]
これらのデフォルトを使用するには、何を渡す必要がありますか (NULL など)。
現在、コードにすべてのデフォルトを追加していますが、かさばります。
以下は私のコードです:
特定Parameter.Value
が null ではなく、SQL Server によって既定値が設定されている場合、このコードは null では機能しません。
SQL Server では、insert ステートメントで値を省略することでこれを処理します (この省略により、テーブルの既定値が挿入されますが、null を指定するとエラーが発生します)。
c# - 更新コマンドExecutenonquery-構文エラー
取得したC#でいくつかのデータを更新しようとしました
「')'の近くの構文が正しくありません。」「da.UpdateCommand.ExecuteNonQuery();」の行。
コードを何度も閲覧しましたが、エラーが表示されなくなりました。だから私の意見では大丈夫なはずですが、そうではありません。以下のコードをご覧いただけますか?
sql - SqlCommand.ExecuteNonQuery メソッドとロールバック トランザクション
以下のコードでは、ロールバックは確実に発生しますが、メソッド ExecuteNonQuery は予期した -1 を返しません。理由はありますか?
SPXpto を実行します。
結果:
(1 行が影響を受ける)
(1 行が影響を受ける)
(0 行が影響を受ける)
1
c# - ExecuteNonQuery:接続プロパティが初期化されていません
ここで質問を検索しましたが、見つかりませんでした。Microsoft VS 2010 C#を使用しています。
これが私のコードです:
接続プロパティが初期化されていない理由を誰かに教えてもらえますか?
out-of-memory - SqlCommandExecuteNonQueryはOutOfMemoryExceptionをスローします
Sqlの実行に問題があります。これは、実際にはSqlServerでのストアドプロシージャの単純な呼び出しです。
以下のSQLストアドプロシージャを検討してください。
今、私はこの方法でC#からこのプロシージャを呼び出しています:
記憶は本当に速く成長し始めます。数秒後、例外がスローされます。通常、このコードはすべて「try /catch」セクションと「using」セクションを使用していますが、このスニペットを簡略化して、問題がコードから直接ではなくSqlClientライブラリから発生していることを示しています。
c# - ExecuteNonQuery の解決方法: 接続プロパティが初期化されていません
私は初心者の C# プログラマーです。C#でゲームを作ってみました。私の登録ページでエラーが発生しました。ExecuteNonQuery: Connection property has not been initializedat at this line "int result = command.ExecuteNonQuery();".Here は私の C# コードです。この問題を解決するのを手伝ってください。
}