プログラミング初心者です。
簡単なホテル予約システムを作成しており
テキストボックスやドロップダウンから選択したデータを
ボタンを押すことでテーブルに格納する機能を実装させたいです。
発生している問題・エラーメッセージジ
接続文字列の取得でエラーが出てしまいます。
オブジェクト参照がオブジェクト インスタンスに設定されていません。
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。
例外の詳細: System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
ソース エラー:
行 86: var connectionString = ConfigurationManager.ConnectionStrings["Database1.mdf"].ConnectionString;
該当のソースコード
C#
1 protected void Button4_Click(object sender, EventArgs e) 2 { 3 string name = TextBox2.Text; 4 string address = TextBox4.Text; 5 string tel = TextBox5.Text; 6 string mail = TextBox7.Text; 7 string date = TextBox3.Text; 8 string day = DropDownList6.Text; 9 string people = DropDownList5.Text; 10 string room = DropDownList7.Text; 11 string price = TextBox6.Text; 12 13 // 接続文字列の取得 14 var connectionString = ConfigurationManager.ConnectionStrings["Database1.mdf"].ConnectionString; 15 16 17 // データベース接続の準備 18 using (var connection = new SqlConnection(connectionString)) 19 using (var command = connection.CreateCommand()) 20 { 21 try 22 { 23 // データベースの接続開始 24 connection.Open(); 25 26 // SQLの準備 27 command.CommandText = "INSERT INTO dbo.予約データ (宿泊日, 宿泊日数, 部屋料金,合計, 名前, 住所,電話番号,人数,メール) VALUES" 28 + "(@date, @day, @room,@price ,@name,@address, @tel,@people,@mail)"; 29 30 command.Parameters.Add(new SqlParameter("@宿泊日", date)); 31 command.Parameters.Add(new SqlParameter("@宿泊日数", day)); 32 command.Parameters.Add(new SqlParameter("@部屋料金", room)); 33 command.Parameters.Add(new SqlParameter("@合計", price)); 34 command.Parameters.Add(new SqlParameter("@名前", name)); 35 command.Parameters.Add(new SqlParameter("@住所", address)); 36 command.Parameters.Add(new SqlParameter("@電話番号", tel)); 37 command.Parameters.Add(new SqlParameter("@人数", people)); 38 command.Parameters.Add(new SqlParameter("@メール", mail)); 39 40 // SQLの実行 41 command.ExecuteNonQuery(); 42 } 43 finally 44 { 45 // データベースの接続終了 46 connection.Close(); 47 } 48 49
### 補足情報(FW/ツールのバージョンなど) ASP.NET Web Forms アプリを作成しています。 visual studio2019 .NET Framwork Windows10 LocalDBを使用しております。
回答2件
あなたの回答
tips
プレビュー