Проверьте возвращаемое значение dataCommand.ExecuteNonQuery();
(целочисленное значение), если оно возвращает -1, что-то пошло не так (, например, откат транзакции ). Если 0, строки не были затронуты.
int return_value = dataCommand.ExecuteNonQuery();
if(return_value > 0)
//goood :)
else
//something wrong :(
EDIT :
Кстати, лучше использовать команды после их использования, как показано ниже:
string connectionString = @"Data Source= (LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|BazaPRO2.mdf;Integrated Security=True;Connect Timeout=30";
SqlConnection dataConnection = new SqlConnection(connectionString);
dataConnection.Open();
string q = "INSERT INTO Sola(SolaID,Naziv,Naslov,Kraj,Posta,Telefon,Eposta) VALUES(1,'Test','Test','Test',1000,'Test','Test')";
using(SqlCommand dataCommand = new SqlCommand(q, dataConnection))
{
try
{
dataCommand.ExecuteNonQuery();
Console.WriteLine("Success");
}
catch { Console.WriteLine("Fail"); }
}
dataConnection.Close();
РЕДАКТИРОВАТЬ2 : С учетом вопросов в комментариях.
Что вы говорите, написав |DataDirectory|
- это "поиск в пути приложения для этой базы данных" , если вы отлаживаете ваше приложение, это означает, что оно ищет базу данных в выходной папке отладки. Если вы не хотите указывать базу данных из каталога приложений с относительным / абсолютным путем (см. Метод AppDomain.SetData
) или копировать базу данных в каталог приложения ... вам сложно ответить, не зная вашей цели:)
Если быть более точным, перед инициализацией SqlConnection вызовите следующий код:
AppDomain.SetData("DataDirectory", "C:\\TEST\\");
Чтобы установить |DataDirectory|
, указывая путь к вашей базе данных.