Ссылка на объект не устанавливается на экземпляр объекта. Пожалуйста, помогите мне
Я создаю пользовательский метод определения в asp.net в C#
я получаю ошибку:ССЫЛКА на объект не установлена на экземпляр объекта.
диалоговое окно ошибки показать здесь-
String query = "insert into saveCart(sno,BkName,BkLanguage,BkStd,BkQty,BkPrice,TotalPrice) values(" + sno + ",'" + Session["Name"].ToString() + "','" + BkName + "','" + BkLanguage + "','" + BkStd + "','" + BkQty + "','" + BkPrice + "','" + TotalPrice + "')";
Мой таблицы базы данных
sno int Checked Name nvarchar(10) Checked BkName nvarchar(100) Unchecked BkLanguage nvarchar(100) Checked BkStd nvarchar(100) Checked BkQty nvarchar(100) Checked BkPrice nvarchar(100) Checked TotalPrice nchar(10) Checked Unchecked
Что я уже пробовал:
private void saveCart(int sno, String BkName, String BkLanguage, String BkStd, String BkQty,String BkPrice, String TotalPrice) { String query = "insert into saveCart(sno,BkName,BkLanguage,BkStd,BkQty,BkPrice,TotalPrice) values(" + sno + ",'" + Session["Name"].ToString() + "','" + BkName + "','" + BkLanguage + "','" + BkStd + "','" + BkQty + "','" + BkPrice + "','" + TotalPrice + "')"; String mycon = "Data Source=HOME-PC\\SQLEXPRESS;Initial Catalog=NoveltySystem;Integrated Security=True;Pooling=False"; SqlConnection con = new SqlConnection(mycon); con.Open(); SqlCommand cmd = new SqlCommand(); cmd.CommandText = query; cmd.Connection = con; cmd.ExecuteNonQuery(); }
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]
Richard Deeming
Наиболее вероятной причиной исключения является то, что Session["Name"]
является null
Отладьте свой код, чтобы выяснить, почему.
Member 14083059
ошибка снова показывает здесь-String query = "insert into saveCart(sno,BkName,BkLanguage,BkStd,BkQty,BkPrice,TotalPrice) values(" + sno + ",'" + Session["Name"].ToString() + "','" + BkName + "','" + BkLanguage + "','" + BkStd + "', '" + BkQty + "', '" + BkPrice + "', '" + TotalPrice + "')";
он показывает "ссылка на объект не указывает на экземпляр объекта"