2012-04-02 15 views
0

私はプログラミング初心者で、NullReferenceExceptionエラーが発生しています。何が問題なの?NullReferenceExceptionが処理されませんでした。

DataRow dRow = DS.Tables["tblLogin"].Rows[0]; 

dRow.BeginEdit(); 
dRow["PASSWORD"] = txtNew.Text; 

dRow.EndEdit(); 

Cmd = new SqlCommand("Update tblLogin set PASSWORD = @PASSWORD where USERNAME = " + txtUser.Text, sConn); 

Cmd.Parameters.Add("@PASSWORD", SqlDbType.VarChar, 50, "PASSWORD"); 

DA.UpdateCommand = Cmd; 
DA.Update(DS, "tblLogin"); 

MessageBox.Show("Record Updated!", "Payroll System", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); 
+0

どの行が起こりますか?あなたはtryとcatchを使用することができます.. –

+0

どのコード行ですか? – sll

+0

私はあなたのDataTable "tblLogin"がnullだと思います。 – Khan

答えて

4

あなたはあなたのコード(値nullを持つ変数)でuninitalized変数を持っています。この変数のメンバーにアクセスしようとすると、この例外が発生します。

これを見ると、これらの値をどのように設定するかを示していないため、DSまたはDAのいずれかになります。あなたは私たちにそれが初期化されているコードを示すことができますか?

また、エラーが発生した行が例外となり、エラーの原因を特定するのに役立ちます。

編集: あなたのコメントによると、テーブルtblLoginDataSetに存在することを確認してくださいalsomake、DAが任意の値に設定されていないようです。

+0

'パブリック部分クラスアカウント:フォーム { SqlConnection sConn =新しいSqlConnection("データソース=。\\ SQLEXPRESS; AttachDbFilename = C:\\ユーザー\\ Amiel_01 \\ドキュメント\\ Visual Studio 2010 \\プロジェクト\\ Softeng \\ Softeng \\ dbPayroll.mdf;統合セキュリティ= True;ユーザーインスタンス= True "); SqlDataAdapter DA; DataSet DS =新しいDataSet(); SqlCommand Cmd; – user1308071

+0

DAにはどのような価値がありますか? – aKzenT

+0

SqlDataAdapter DA =新しいSqlDataAdapter( "Select * from tblLogin"、sConn); @aKzenT – user1308071

0
  • 関数の最初の行にブレークポイントを設定します。
  • そこに着いたら、Ctrl+Alt+Eを押して例外設定ボックスを開きます。
  • すべての共通言語ランタイム例外を無効にする場合は、このチェックボックスをオンにします。その後、
  • F5を実行して実行を継続します。例外がスローされると、正確にどこのマーカーが得られます。
関連する問題