Sqlite The database file is locked database is lockedHow to list the tables in a SQLite database file that was opened with ATTACH?SQLite - UPSERT *not* INSERT or REPLACESqlite primary key on multiple columnsWhat are the performance characteristics of sqlite with very large database files?What is the best extension for SQLite database files?How do I check in SQLite whether a table exists?Is it possible to insert multiple rows at a time in an SQLite database?Improve INSERT-per-second performance of SQLite?What are the best practices for SQLite on Android?Parse query doesn't continue when connection issue occurs
What does Windows' "Tuning up Application Start" do?
Aren't all schwa sounds literally /ø/?
How to hide your own body?
What is the minimum wait before I may I re-enter the USA after a 90 day visit on the Visa B-2 Program?
Conditional statement in a function for PS1 are not re-evalutated
Why is there an extra "t" in Lemmatization?
Grease/lubricate rubber stabilizer bar bushings?
A Real World Example for Divide and Conquer Method
Ethiopian Airlines tickets seem to always have the same price regardless of the proximity of the date?
Linearize or approximate a square root constraint
Is there an English word to describe when a sound "protrudes"?
How deep is the Underdark? What is its max and median depth?
Do pedestrians imitate automotive traffic?
Why can't a country print its own money to spend it only abroad?
Project Euler # 25 The 1000 digit Fibonacci index
Could Europeans in Europe demand protection under UN Declaration on the Rights of Indigenous Peoples?
She told me that she HAS / HAD a gun
Do I care if the housing market has gone up or down, if I'm moving from one house to another?
Making an example from 'Clean Code' more functional
Find position equal columns of matrix
Three phase systems - are there any single phase devices that are connected between two phases instead of between one phase and neutral?
Are there foods that astronauts are explicitly never allowed to eat?
Do gauntlets count as armor?
What's so great about Shalantha's Delicate Disk?
Sqlite The database file is locked database is locked
How to list the tables in a SQLite database file that was opened with ATTACH?SQLite - UPSERT *not* INSERT or REPLACESqlite primary key on multiple columnsWhat are the performance characteristics of sqlite with very large database files?What is the best extension for SQLite database files?How do I check in SQLite whether a table exists?Is it possible to insert multiple rows at a time in an SQLite database?Improve INSERT-per-second performance of SQLite?What are the best practices for SQLite on Android?Parse query doesn't continue when connection issue occurs
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I constantly write an error, the database is locked. I just can not understand why this is happening.
db_login.cs
private db_controller _dbctrl = new db_controller();
public SqliteDataReader dataread;
private string query;
//this two inputField,
public void LoginToGo()
login = _login.captionText.text;
pass = _pass.text.ToString();
query = "SELECT id from users where users = '" + login + "' AND pass = '" + pass + "'";
try
dataread = _dbctrl.ExecuteReader(query);
if(dataread.HasRows & dataread != null)
while (dataread.Read())
VerifyAdmin();
_dbctrl.Disconnect();
else
errortxt.text = "Неверный логин или пароль, пожалуйста повторите!";
catch (Exception ex) errortxt.text = ex.ToString();
public void VerifyAdmin() //Who are you, admin or user
login = _login.captionText.text;
query_access = "SELECT root from users where users = '" + login + "'";
try
dataread = _dbctrl.ExecuteReader(query_access);
while (dataread.Read())
dataread[0].ToString() == null)
MainMenu();
else
AdminMenu();
catch (Exception ex) errortxt.text = ex.ToString();
public void AdminMenu()
JOIN.SetActive(false);
ADMIN.SetActive(true);
public void MainMenu()
JOIN.SetActive(false);
MAIN.SetActive(true);
db_controller.cs
public SqliteConnection con_db;
public SqliteCommand cmd_db;
public SqliteDataReader rdr_db;
public void connections()
try
if(Application.platform != RuntimePlatform.Android)
path = Application.dataPath + "/StreamingAssets/db.bytes"; // Путь для Windows
else
path = Application.persistentDataPath + "/db.bytes"; // Путь для Android
if(!File.Exists(path))
WWW load = new WWW("jar:file://" + Application.dataPath + "!/assets/" + "db.bytes");
while (!load.isDone)
File.WriteAllBytes(path, load.bytes);
con_db = new SqliteConnection("URI=file:" + path);
con_db.Open();
if (con_db.State == ConnectionState.Open)
debugText.text = path.ToString() + " - is connected";
Debug.Log(path.ToString());
catch (Exception ex)
debugText.text = ex.ToString();
//Тут я создаю метод отключения
public void Disconnect()
con_db.Close();
public SqliteDataReader ExecuteReader(string query)
connections();
try
cmd_db = new SqliteCommand(query, con_db);
rdr_db = cmd_db.ExecuteReader();
return rdr_db;
catch (Exception ex) debugText.text = ex.ToString(); return null;
//Тут я записываю данные. Заодно решил проверить закрыто ли соединение.
public void SetDB()
if (con_db.State == ConnectionState.Open)
Debug.Log("open");
else
Debug.Log("close!");
//The connection is closed. But I can not complete the request cmd_db.ExecuteNonQuery();
connections();
try
brand = AutoName.captionText.text;
model = AutoModel.captionText.text;
years = OldAuto.captionText.text;
number = GosNumber.text.ToString();
nusers = UserName.text.ToString();
dbirthday = DBirthday.captionText.text;
mbirthday = MBirthday.captionText.text;
ybirthday = YBirthday.captionText.text;
mobile = Mobile.text.ToString();
cmd_db = new SqliteCommand("INSERT INTO clients(brand,model,years,number,nusers,dbirthday,mbirthday,ybirthday,mobile,groupmodel) values('" + brand + "', '" + model + "','" + years + "','" + number + "','" + nusers + "','" + dbirthday + "','" + mbirthday + "','" + ybirthday + "','" + mobile + "','" +groupmodel+ "')" , con_db);
cmd_db.ExecuteNonQuery(); //Swears, says that the base is locked. And why? I just read the data and the connection was closed.
catch (Exception ex) debugText.text = ex.ToString();
Disconnect();
the documentation says:
This error code occurs when you try to do two incompatible things with the database at the same time from the same connection to the database.
But the connection with the base is closed.
Maybe I'm missing something, or not doing the right thing. I ask for help to clarify this issue.
c sqlite unity3d
add a comment |
I constantly write an error, the database is locked. I just can not understand why this is happening.
db_login.cs
private db_controller _dbctrl = new db_controller();
public SqliteDataReader dataread;
private string query;
//this two inputField,
public void LoginToGo()
login = _login.captionText.text;
pass = _pass.text.ToString();
query = "SELECT id from users where users = '" + login + "' AND pass = '" + pass + "'";
try
dataread = _dbctrl.ExecuteReader(query);
if(dataread.HasRows & dataread != null)
while (dataread.Read())
VerifyAdmin();
_dbctrl.Disconnect();
else
errortxt.text = "Неверный логин или пароль, пожалуйста повторите!";
catch (Exception ex) errortxt.text = ex.ToString();
public void VerifyAdmin() //Who are you, admin or user
login = _login.captionText.text;
query_access = "SELECT root from users where users = '" + login + "'";
try
dataread = _dbctrl.ExecuteReader(query_access);
while (dataread.Read())
dataread[0].ToString() == null)
MainMenu();
else
AdminMenu();
catch (Exception ex) errortxt.text = ex.ToString();
public void AdminMenu()
JOIN.SetActive(false);
ADMIN.SetActive(true);
public void MainMenu()
JOIN.SetActive(false);
MAIN.SetActive(true);
db_controller.cs
public SqliteConnection con_db;
public SqliteCommand cmd_db;
public SqliteDataReader rdr_db;
public void connections()
try
if(Application.platform != RuntimePlatform.Android)
path = Application.dataPath + "/StreamingAssets/db.bytes"; // Путь для Windows
else
path = Application.persistentDataPath + "/db.bytes"; // Путь для Android
if(!File.Exists(path))
WWW load = new WWW("jar:file://" + Application.dataPath + "!/assets/" + "db.bytes");
while (!load.isDone)
File.WriteAllBytes(path, load.bytes);
con_db = new SqliteConnection("URI=file:" + path);
con_db.Open();
if (con_db.State == ConnectionState.Open)
debugText.text = path.ToString() + " - is connected";
Debug.Log(path.ToString());
catch (Exception ex)
debugText.text = ex.ToString();
//Тут я создаю метод отключения
public void Disconnect()
con_db.Close();
public SqliteDataReader ExecuteReader(string query)
connections();
try
cmd_db = new SqliteCommand(query, con_db);
rdr_db = cmd_db.ExecuteReader();
return rdr_db;
catch (Exception ex) debugText.text = ex.ToString(); return null;
//Тут я записываю данные. Заодно решил проверить закрыто ли соединение.
public void SetDB()
if (con_db.State == ConnectionState.Open)
Debug.Log("open");
else
Debug.Log("close!");
//The connection is closed. But I can not complete the request cmd_db.ExecuteNonQuery();
connections();
try
brand = AutoName.captionText.text;
model = AutoModel.captionText.text;
years = OldAuto.captionText.text;
number = GosNumber.text.ToString();
nusers = UserName.text.ToString();
dbirthday = DBirthday.captionText.text;
mbirthday = MBirthday.captionText.text;
ybirthday = YBirthday.captionText.text;
mobile = Mobile.text.ToString();
cmd_db = new SqliteCommand("INSERT INTO clients(brand,model,years,number,nusers,dbirthday,mbirthday,ybirthday,mobile,groupmodel) values('" + brand + "', '" + model + "','" + years + "','" + number + "','" + nusers + "','" + dbirthday + "','" + mbirthday + "','" + ybirthday + "','" + mobile + "','" +groupmodel+ "')" , con_db);
cmd_db.ExecuteNonQuery(); //Swears, says that the base is locked. And why? I just read the data and the connection was closed.
catch (Exception ex) debugText.text = ex.ToString();
Disconnect();
the documentation says:
This error code occurs when you try to do two incompatible things with the database at the same time from the same connection to the database.
But the connection with the base is closed.
Maybe I'm missing something, or not doing the right thing. I ask for help to clarify this issue.
c sqlite unity3d
1
Are you sure you don't have any extra software that has the database opened ? such as sqlitebrowser for example
– Martin
Mar 26 at 12:35
often its the vs ide that has it open..
– BugFinder
Mar 26 at 13:30
and the plugin Firefox is considered? But I do not work in it. And I use a portable program
– Roman Anderson
Mar 26 at 17:39
Maybe I'm stupid. But you can see for yourself. mediafire.com/file/t9zeek8299m9ieg/CarShower.7z/file
– Roman Anderson
Mar 26 at 17:43
add a comment |
I constantly write an error, the database is locked. I just can not understand why this is happening.
db_login.cs
private db_controller _dbctrl = new db_controller();
public SqliteDataReader dataread;
private string query;
//this two inputField,
public void LoginToGo()
login = _login.captionText.text;
pass = _pass.text.ToString();
query = "SELECT id from users where users = '" + login + "' AND pass = '" + pass + "'";
try
dataread = _dbctrl.ExecuteReader(query);
if(dataread.HasRows & dataread != null)
while (dataread.Read())
VerifyAdmin();
_dbctrl.Disconnect();
else
errortxt.text = "Неверный логин или пароль, пожалуйста повторите!";
catch (Exception ex) errortxt.text = ex.ToString();
public void VerifyAdmin() //Who are you, admin or user
login = _login.captionText.text;
query_access = "SELECT root from users where users = '" + login + "'";
try
dataread = _dbctrl.ExecuteReader(query_access);
while (dataread.Read())
dataread[0].ToString() == null)
MainMenu();
else
AdminMenu();
catch (Exception ex) errortxt.text = ex.ToString();
public void AdminMenu()
JOIN.SetActive(false);
ADMIN.SetActive(true);
public void MainMenu()
JOIN.SetActive(false);
MAIN.SetActive(true);
db_controller.cs
public SqliteConnection con_db;
public SqliteCommand cmd_db;
public SqliteDataReader rdr_db;
public void connections()
try
if(Application.platform != RuntimePlatform.Android)
path = Application.dataPath + "/StreamingAssets/db.bytes"; // Путь для Windows
else
path = Application.persistentDataPath + "/db.bytes"; // Путь для Android
if(!File.Exists(path))
WWW load = new WWW("jar:file://" + Application.dataPath + "!/assets/" + "db.bytes");
while (!load.isDone)
File.WriteAllBytes(path, load.bytes);
con_db = new SqliteConnection("URI=file:" + path);
con_db.Open();
if (con_db.State == ConnectionState.Open)
debugText.text = path.ToString() + " - is connected";
Debug.Log(path.ToString());
catch (Exception ex)
debugText.text = ex.ToString();
//Тут я создаю метод отключения
public void Disconnect()
con_db.Close();
public SqliteDataReader ExecuteReader(string query)
connections();
try
cmd_db = new SqliteCommand(query, con_db);
rdr_db = cmd_db.ExecuteReader();
return rdr_db;
catch (Exception ex) debugText.text = ex.ToString(); return null;
//Тут я записываю данные. Заодно решил проверить закрыто ли соединение.
public void SetDB()
if (con_db.State == ConnectionState.Open)
Debug.Log("open");
else
Debug.Log("close!");
//The connection is closed. But I can not complete the request cmd_db.ExecuteNonQuery();
connections();
try
brand = AutoName.captionText.text;
model = AutoModel.captionText.text;
years = OldAuto.captionText.text;
number = GosNumber.text.ToString();
nusers = UserName.text.ToString();
dbirthday = DBirthday.captionText.text;
mbirthday = MBirthday.captionText.text;
ybirthday = YBirthday.captionText.text;
mobile = Mobile.text.ToString();
cmd_db = new SqliteCommand("INSERT INTO clients(brand,model,years,number,nusers,dbirthday,mbirthday,ybirthday,mobile,groupmodel) values('" + brand + "', '" + model + "','" + years + "','" + number + "','" + nusers + "','" + dbirthday + "','" + mbirthday + "','" + ybirthday + "','" + mobile + "','" +groupmodel+ "')" , con_db);
cmd_db.ExecuteNonQuery(); //Swears, says that the base is locked. And why? I just read the data and the connection was closed.
catch (Exception ex) debugText.text = ex.ToString();
Disconnect();
the documentation says:
This error code occurs when you try to do two incompatible things with the database at the same time from the same connection to the database.
But the connection with the base is closed.
Maybe I'm missing something, or not doing the right thing. I ask for help to clarify this issue.
c sqlite unity3d
I constantly write an error, the database is locked. I just can not understand why this is happening.
db_login.cs
private db_controller _dbctrl = new db_controller();
public SqliteDataReader dataread;
private string query;
//this two inputField,
public void LoginToGo()
login = _login.captionText.text;
pass = _pass.text.ToString();
query = "SELECT id from users where users = '" + login + "' AND pass = '" + pass + "'";
try
dataread = _dbctrl.ExecuteReader(query);
if(dataread.HasRows & dataread != null)
while (dataread.Read())
VerifyAdmin();
_dbctrl.Disconnect();
else
errortxt.text = "Неверный логин или пароль, пожалуйста повторите!";
catch (Exception ex) errortxt.text = ex.ToString();
public void VerifyAdmin() //Who are you, admin or user
login = _login.captionText.text;
query_access = "SELECT root from users where users = '" + login + "'";
try
dataread = _dbctrl.ExecuteReader(query_access);
while (dataread.Read())
dataread[0].ToString() == null)
MainMenu();
else
AdminMenu();
catch (Exception ex) errortxt.text = ex.ToString();
public void AdminMenu()
JOIN.SetActive(false);
ADMIN.SetActive(true);
public void MainMenu()
JOIN.SetActive(false);
MAIN.SetActive(true);
db_controller.cs
public SqliteConnection con_db;
public SqliteCommand cmd_db;
public SqliteDataReader rdr_db;
public void connections()
try
if(Application.platform != RuntimePlatform.Android)
path = Application.dataPath + "/StreamingAssets/db.bytes"; // Путь для Windows
else
path = Application.persistentDataPath + "/db.bytes"; // Путь для Android
if(!File.Exists(path))
WWW load = new WWW("jar:file://" + Application.dataPath + "!/assets/" + "db.bytes");
while (!load.isDone)
File.WriteAllBytes(path, load.bytes);
con_db = new SqliteConnection("URI=file:" + path);
con_db.Open();
if (con_db.State == ConnectionState.Open)
debugText.text = path.ToString() + " - is connected";
Debug.Log(path.ToString());
catch (Exception ex)
debugText.text = ex.ToString();
//Тут я создаю метод отключения
public void Disconnect()
con_db.Close();
public SqliteDataReader ExecuteReader(string query)
connections();
try
cmd_db = new SqliteCommand(query, con_db);
rdr_db = cmd_db.ExecuteReader();
return rdr_db;
catch (Exception ex) debugText.text = ex.ToString(); return null;
//Тут я записываю данные. Заодно решил проверить закрыто ли соединение.
public void SetDB()
if (con_db.State == ConnectionState.Open)
Debug.Log("open");
else
Debug.Log("close!");
//The connection is closed. But I can not complete the request cmd_db.ExecuteNonQuery();
connections();
try
brand = AutoName.captionText.text;
model = AutoModel.captionText.text;
years = OldAuto.captionText.text;
number = GosNumber.text.ToString();
nusers = UserName.text.ToString();
dbirthday = DBirthday.captionText.text;
mbirthday = MBirthday.captionText.text;
ybirthday = YBirthday.captionText.text;
mobile = Mobile.text.ToString();
cmd_db = new SqliteCommand("INSERT INTO clients(brand,model,years,number,nusers,dbirthday,mbirthday,ybirthday,mobile,groupmodel) values('" + brand + "', '" + model + "','" + years + "','" + number + "','" + nusers + "','" + dbirthday + "','" + mbirthday + "','" + ybirthday + "','" + mobile + "','" +groupmodel+ "')" , con_db);
cmd_db.ExecuteNonQuery(); //Swears, says that the base is locked. And why? I just read the data and the connection was closed.
catch (Exception ex) debugText.text = ex.ToString();
Disconnect();
the documentation says:
This error code occurs when you try to do two incompatible things with the database at the same time from the same connection to the database.
But the connection with the base is closed.
Maybe I'm missing something, or not doing the right thing. I ask for help to clarify this issue.
c sqlite unity3d
c sqlite unity3d
asked Mar 26 at 12:32
Roman AndersonRoman Anderson
1
1
1
Are you sure you don't have any extra software that has the database opened ? such as sqlitebrowser for example
– Martin
Mar 26 at 12:35
often its the vs ide that has it open..
– BugFinder
Mar 26 at 13:30
and the plugin Firefox is considered? But I do not work in it. And I use a portable program
– Roman Anderson
Mar 26 at 17:39
Maybe I'm stupid. But you can see for yourself. mediafire.com/file/t9zeek8299m9ieg/CarShower.7z/file
– Roman Anderson
Mar 26 at 17:43
add a comment |
1
Are you sure you don't have any extra software that has the database opened ? such as sqlitebrowser for example
– Martin
Mar 26 at 12:35
often its the vs ide that has it open..
– BugFinder
Mar 26 at 13:30
and the plugin Firefox is considered? But I do not work in it. And I use a portable program
– Roman Anderson
Mar 26 at 17:39
Maybe I'm stupid. But you can see for yourself. mediafire.com/file/t9zeek8299m9ieg/CarShower.7z/file
– Roman Anderson
Mar 26 at 17:43
1
1
Are you sure you don't have any extra software that has the database opened ? such as sqlitebrowser for example
– Martin
Mar 26 at 12:35
Are you sure you don't have any extra software that has the database opened ? such as sqlitebrowser for example
– Martin
Mar 26 at 12:35
often its the vs ide that has it open..
– BugFinder
Mar 26 at 13:30
often its the vs ide that has it open..
– BugFinder
Mar 26 at 13:30
and the plugin Firefox is considered? But I do not work in it. And I use a portable program
– Roman Anderson
Mar 26 at 17:39
and the plugin Firefox is considered? But I do not work in it. And I use a portable program
– Roman Anderson
Mar 26 at 17:39
Maybe I'm stupid. But you can see for yourself. mediafire.com/file/t9zeek8299m9ieg/CarShower.7z/file
– Roman Anderson
Mar 26 at 17:43
Maybe I'm stupid. But you can see for yourself. mediafire.com/file/t9zeek8299m9ieg/CarShower.7z/file
– Roman Anderson
Mar 26 at 17:43
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55357296%2fsqlite-the-database-file-is-locked-database-is-locked%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Is this question similar to what you get asked at work? Learn more about asking and sharing private information with your coworkers using Stack Overflow for Teams.
Is this question similar to what you get asked at work? Learn more about asking and sharing private information with your coworkers using Stack Overflow for Teams.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55357296%2fsqlite-the-database-file-is-locked-database-is-locked%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Are you sure you don't have any extra software that has the database opened ? such as sqlitebrowser for example
– Martin
Mar 26 at 12:35
often its the vs ide that has it open..
– BugFinder
Mar 26 at 13:30
and the plugin Firefox is considered? But I do not work in it. And I use a portable program
– Roman Anderson
Mar 26 at 17:39
Maybe I'm stupid. But you can see for yourself. mediafire.com/file/t9zeek8299m9ieg/CarShower.7z/file
– Roman Anderson
Mar 26 at 17:43