Member 2575377 Ответов: 1

Как я могу...как я могу устранить эту ошибку(sqlite/C# connectionstring из app.settings)?


====The Error====
 Changes = '((System.Data.SQLite.SQLiteConnection)cnn).Changes' threw an exception of type 'System.InvalidOperationException'
 ====App.Config===

 <?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name ="Default" connectionString="Data Source=.\DemoDB.db;Version=3;" providerName="System.Data.SqlClient"/>
  </connectionStrings>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    </startup>
</configuration>

====My Code====
 public static List<DepartmentModel> LoadDepartment()
        {
            using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
            {
                var output = cnn.Query<DepartmentModel>("select * from Department", new DynamicParameters());
                return output.ToList();
            }
        }

        public static void SaveDepartment(DepartmentModel department)
        {
            using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
            {
                cnn.Execute("insert into Department (department_name,department_code, school_id) values (@DepartmentName,@DepartmentCode,@SchoolId)", department);
            }
        }

        private static string LoadConnectionString(string id = "Default")
        {
            return ConfigurationManager.ConnectionStrings[id].ConnectionString;
        }


Что я уже пробовал:

Одноступенчатый,проверенный путь к файлу,

Richard MacCutchan

Вам нужно поймать исключение и изучить его содержимое, чтобы точно выяснить, какие значения/параметры/ссылка на объект являются причиной проблемы. Вам также нужно указать, на какой линии это происходит.

1 Ответов

Рейтинг:
0

dnxit

Вам просто нужен путь, где файл существует физически, вот пример

private readonly SQLiteConnection _connection;
private Database()
{
	var databaseFile = GetDatabasePath();
	if (!File.Exists(databaseFile))
	{
		SQLiteConnection.CreateFile(databaseFile);
	}
	_connection = new SQLiteConnection($"Data Source={databaseFile};Version=3;");
}


мы привыкли Щеголеватый для связи с БД SQLite.