Проблема подключения к базе данных ASP.NET
public DBCon() { ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DataCon"].ConnectionString; } private void connect() { try { con = new SqlConnection(ConnectionString); if (con.State == ConnectionState.Open) con.Close(); con.Open(); } catch { } } public bool ExecuteNonQuery(String sql) { bool Check = false; try { cmd = new SqlCommand(); cmd.CommandText = sql; cmd.CommandType = CommandType.Text; connect(); cmd.Connection = con; if (cmd.ExecuteNonQuery() > 0) Check = true; } catch { Check = false; } finally { con.Close(); cmd.Dispose(); cmd = null; } return Check; } connectionString="Data Source=amit-pc\\sqlexpress;Initial Catalog=KasturiNaturals;Persist Security Info=True;User ID=sa;Password=123456;"
когда я запускаю этот код, я получаю эту ошибку.
ServerVersion = 'con.ServerVersion' threw an exception of type 'System.InvalidOperationException'
Что я уже пробовал:
я пытаюсь создать методы, упрощающие мой код для доступа к базе данных.
RedDk
Почему ты обманываешь.Close (), затем con.Откройте() после того, как вы проверите, есть ли con.Состояние-это (==) ConnectionState.open? Разве это не было бы безопасно, если бы ConnectionState.Закрыто было условие тогда просто кон.Открыть() результат "попытки"?
Richard Deeming
Этот класс заставит вас написать код, который уязвим для SQL-инъекций. Вам нужно предоставить способ передачи параметров вашим запросам, не вставляя значения в текст запроса.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]