DOBON.NET DOBON.NETプログラミング掲示板過去ログ

C#のエラー内容の意味を教えて下さい

環境/言語:[xp C#2005  SQL Server]
分類:[.NET]

こんにちは エツです。
いつもお世話になります。また宜しくお願いします。
環境 xp  C#2005 Express Edition、SQLServer2005 Express Editionです。

色々と教えて頂いて、Win データベースアプリケーション を作成中です。
今回はエラー内容の意味を教えて下さい。

Da.UpdateCommand.ExecuteNonQuery(); と書いてデータアダプターのUpdateCommand から直接データファイルの
更新をしている部分で約44000行更新した時に発生しました。


このエラーの意味を教えて下さい。

**** 以下 エラー内容  *****
System.Data.SqlClient.SqlException はハンドルされませんでした。
Message="varchar の値 'G0' をデータ型 int に変換できませんでした。"
Source=".Net SqlClient Data Provider"
ErrorCode=-2146232060
Class=16
LineNumber=1
Number=245
Procedure=""
Server="\\\\.\\pipe\\5DF1A57A-BFE6-48\\tsql\\query"
State=1

**** エラー 内容 終わり *****

1.扱っているデータは全て文字列でテーブル列の型も文字列です。
2.エラー発生時の更新データにG0という文字列はありません。
それなのに何故このエラーがでるのか全く解りません。

なお
LineNumber=1
Number=245
これの意味も解りません。

関連事項、その他、何でも結構です。宜しくお願いします。
■No17718に返信(エツさんの記事)

こんにちは エツです。

UpdateCommandはコマンドビルダーから作成したものを
手直しして使用していましたが、手直しミスでした。

パラメータを
Parameters.Clear(); 後に
Parameters.Add("@p" + i.ToString(), SqlDbType.Char);で
作り直しますと、エラーが無くなりました。

>約44000行更新した時
たまたまエラー発生無しで約44000行更新したみたいです。

>Message="varchar の値 'G0' をデータ型 int に変換できませんでした。"
これに関しては直接の原因がこの内容では無いと思います。
単にこのエラー表示をしただけと思います。これ以上突っ込んで調べても
無意味です。(というよりはそれだけの知識がない)

>Number=245
これは ErrorCode=-2146232060 と Number=245 の組み合わせで
Message="varchar の値 'G0' をデータ型 int に変換できませんでした。"
となると思います。(もし違っていたら御指摘ください)
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板