
開発環境VisualStudio.NET 開発言語C#です。
データベースに接続しデータを取り出すコードの一部ですが「指定されたキャストは有効ではありません。」と表示されます。
while( sqlReader14.Read() )
{
int empTD2 = (int)sqlReader14["LineNumber"];
if(empTD2 == time)
{
int empFD = (int)sqlReader14["DepartureTimeInt"];
int empED = (int)sqlReader14["ArrivalTimeInt"];
string empFFD = sqlReader14["DepartureTime"].ToString();
string empEED = sqlReader14["ArrivalTime"].ToString();
if(950 >= ViaTime)
{
TimeGet4 = empFFD;
TimeGet5 = empEED;
goto Labelc;
}
}
}
Labelc:;
実行しソフトを操作するとint empFD = (int)sqlReader14["DepartureTimeInt"];でエラーが発生しタイトルのようなメッセージが出ます。いろいろ試行錯誤しましたが解決しません。どうかよろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
sqlReader14["DepartureTimeInt"].GetType().ToString()
の内容を実行時に、デバッガで、調べましょう。
そして、本当にint型でのキャストでよいのか
調べましょう。
sqlReader14[
の内部で例外が発生しているケースでは、
No1さんのような対策をしてください。
本当にNo1さんの対策でよいのかを調べるために
sqlReader14.IsDBNull(●)
の部分の評価値のbool値をデバッガで
実行時で除いてみましょう。
開発対象のシステムでのDBから取得される型
がint, string, DateTimeなどに限定されるようで
あれば、IsDBNullのチェックおよび、
.GetType().ToString()の型の判定や、
データの取得ロジックなどの共通化を
検討しましょう。
リフレクションや、VS2005以降のGeneric等を
用いて自動的に、Beanに結果が格納されるような
もちろん、今回の質問事項も解決されて、吸収された
フレームワークを作ってしまいましょう。
以上。
No.1
- 回答日時:
sqlReader14["DepartureTimeInt"]がnullである可能性があります
int empFD;
if (!sqlReader14.IsDBNull(●)){
empFD = (int)sqlReader14["DepartureTimeInt"];
}
などの対策が必要です
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
このQ&Aを見た人はこんなQ&Aも見ています
-
今年はじめたいことは?
今年はこれをはじめたい!ということを教えてください!
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
もし10億円当たったら何に使いますか?
みなさんの10億円プランが知りたいです!
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
visual studio でインデントを自動的に揃えるショートカットキー
その他(プログラミング・Web制作)
-
「指定されたキャストは有効ではありません」
Microsoft ASP
-
-
4
CloseとDisposeの違い
Visual Basic(VBA)
-
5
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
6
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
7
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
8
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
9
CASE文のエラーについて
Oracle
-
10
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
11
データグリッドビューの一番最初の行に列を追加したい
Visual Basic(VBA)
-
12
Integer変数をカラにしたいのですが
Visual Basic(VBA)
-
13
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
14
オブジェクト参照がオブジェクト インスタンスに設定されていません というエラーについて
Microsoft ASP
-
15
意味不明の実行時エラーで困っています
その他(プログラミング・Web制作)
-
16
SQL SERVER2008の質問です
SQL Server
-
17
C# ReadOnlyのTextBoxで
C言語・C++・C#
-
18
DateTimePickerでに年月までしか選択できないようにしたいです。
Visual Basic(VBA)
-
19
SQLのエラー(~付近に不適切な構文があります)
SQL Server
-
20
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
「指定されたキャストは有効で...
-
(int *)の意味
-
ラップ関数とはどんなものですか?
-
read関数をノンブロッキングで...
-
windows-findstrの正規表現を使...
-
DLLをGetProcAddress()で実行で...
-
systemの戻り値を取得する方法
-
ColorをRGBで指定する方法
-
【C++】関数ポインタの使い方
-
深さ優先探索について・・・
-
int型の変数値をバイト列として...
-
クイックソートプログラムでセ...
-
int16_t の _t は何?
-
エラー 添字が付けられた値が、...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
-
C言語で三目並べをするプログラ...
-
PowerShellがうまくいかない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
C言語 エラーの原因がわからな...
-
#define _CRT_SECURE_NO_WARNIN...
-
最早開始時間と最遅完了時刻を...
-
【C++】関数ポインタの使い方
-
ラップ関数とはどんなものですか?
-
(int *)の意味
-
実数の整数部,小数部の取得
-
「{ } で囲むだけ」は正しい?
-
if と配列の組み合わせ
-
ColorをRGBで指定する方法
-
acceptをalarmでタイムアウトさ...
-
systemの戻り値を取得する方法
-
足して100になるような乱数のア...
-
PowerShellがうまくいかない
-
std::set<int> で、ある値が何...
-
C言語の配列をC++のvectorに高...
-
構造体の勉強中です 合計点の高...
おすすめ情報