質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

2回答

6281閲覧

入力文字列の形式が正しくありません。

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2018/11/19 05:03

エラー

社員管理のシステムを作っています。
今回、入力文字列の形式が正しくありません。という、エラーが取れなくて、困っています。

問題のコードです。

C#

1public void PositionInfomation() 2 { 3 //接続文字列の取得 4 DBManager dBManager = new DBManager(); 5 6 try 7 { 8 //データベース接続開始 9 dBManager.BeginTran(); 10 11 //SQLの作成 12 string SelectSql = "Select Position from EmployeeList where CompaneyCode = @companeyCode and EmployeeCode = @employeeCode;"; 13 14 //パラメーター作成・埋め込み 15 Dictionary<string, object> param = new Dictionary<string, object>(); 16 17 param.Add("@companeyCode", LgCompaneyCode.Text); 18 param.Add("@employeeCode", LgEmployeeCode.Text); 19 20 //SQLの実行 21 SqlDataReader reader = dBManager.ExecuteQuery(SelectSql, param); 22 DataTable dt = dBManager.DataLoad(reader); 23 this.LoginPosition = int.Parse(dt.Rows[0].ToString()); 24 } 25 catch(Exception exception) 26 { 27 MessageBox.Show("異常終了" + exception, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); 28 } 29 finally 30 { 31 dBManager.Close(); 32 } 33 }

このthis.LoginPosition = int.Parse(dt.Rows[0].ToString());で、上のエラーが起こります。このデータテーブルで取得している値は、数値です。

C#

1 private int LoginPosition; 2 public int lgPosition 3 { 4 get 5 { 6 return LoginPosition; 7 } 8 set 9 { 10 LoginPosition = value; 11 } 12 }

初歩的な質問ですいませんが、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

dt.Rows[0]DataRowという型のオブジェクトです。
dt.Rows[0].ToString()とすると、型名称の"System.Data.DataRow"と返ってきます。
t.Rows[0][0]t.Rows[0].Field<int>("カラム名")といった感じでアクセスすることになるかと思います。

投稿2018/11/19 05:20

YAmaGNZ

総合スコア10242

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/11/21 06:06

返信遅くなってしまいすいません、タッチの差で自己解決致しました。 丁寧な解答ありがとうございます。 またよろしくお願いします。
guest

0

下の書き方で解決しました

C#

1this.LoginPosition = dt.Rows[0].Field<int>("Position");

投稿2018/11/19 05:17

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問