Я новичок, который пытается научиться веб-программированию. Я делаю свой сайт в VS 2012 с помощью C#. У меня есть база данных, подключенная в папке App_Data, с использованием SQL Server CE 4.0. Я пытаюсь подключиться к нему следующим образом:Исключение при попытке подключения к SQL Server CE с C#
SqlCeCommand cmd1 = new SqlCeCommand("SELECT Admin FROM SystemUsers WHERE Email=" + user.Email);
SqlCeDataReader admin = null;
SqlCeConnection conn = new SqlCeConnection();
conn.ConnectionString = "Data Source=MyData.sdf;Persist Security Info=False;";
conn.Open();
admin = cmd1.ExecuteReader();
Когда я выполняю это, я получаю следующее сообщение об ошибке:
An exception of type 'System.Data.SqlServerCe.SqlCeException' occurred in System.Data.SqlServerCe.dll but was not handled in user code
Любые мысли относительно того, что я делаю неправильно? Я пытался это выяснить часами.
Вы должны использовать 'using' с этими объектами, такие как' используя (вар CMD = новый SQLCommand()) {} ', так они располагаются правильно и соединение закрыто (все, что реализует IDisposable). Кроме того, никогда не используйте конкатенацию строк для операторов SQL; ваш код уязвим для SQL-инъекций; вы должны использовать параметры SQL. –
Попробуйте выполнить код в отладчике, и при появлении исключения вы сможете просверлить его, чтобы увидеть сообщение и возможное InnerException.Message. Сообщение может быть немного неопределенным, но это отправная точка. – AaronLS
В какой-то момент вы должны поймать исключение и отобразить его где-нибудь через 'ex.ToString()' –