Итак, у меня проблема с выполнением инструкции INSERT INTO. Ниже вы видите код, который я использую, и он не выполняет требуемого действия. Я пробовал много всего, но он все еще не работает.
public IActionResult Submit()
{
return View();
}
[HttpPost]
public IActionResult Submit(string inpTitle, string inpContent )
{
try
{
using (SqliteConnection con = new SqliteConnection(Startup.ConStr))
{
con.Open(); string strSQL = "INSERT INTO Submissions (Title, Content, SubDate, SubUserID) VALUES(@Title, @Content, @SubDate, @SubUserID)";
using (SqliteCommand com = new SqliteCommand(strSQL, con))
{
com.Parameters.Add(new SqliteParameter("@Title", inpTitle));
com.Parameters.Add(new SqliteParameter("@Content", inpContent));
com.Parameters.Add(new SqliteParameter("@SubDate", DateTime.Now.ToString("yyyy -MM-dd")));
com.Parameters.Add(new SqliteParameter("@SubUserID", HttpContext.Session.GetInt32("UserID")));
}
}
ViewBag.Message = ".";
}
catch (Exception ex)
{
ViewBag.Error = ex.Message;
}
ViewBag.Error = ".";
return View();
}
Таблица базы данных, в которую я хочу вставить ее, имеет 5 столбцов, 4 из которых указаны выше, а 5-й является первичным ключом автоинкремента.
Это код, который у меня есть на странице отправки:
<div id = "side">
<h3>@ViewBag.Error</h3>
<h1>Title</h1>
<input name = "inpTitle" type = "text" />
<h1>Contents</h1>
<textarea name = "inpContent" rows = "25" cols = "75"></textarea>
<div>
<button style = "width: 150px;" name = "submit" type = "submit"><h3>Submit</h3></button>
</div>
<p style = "color: white;">@ViewBag.Message</p>
CSS, используемый в этом:
#side {
width: 600px;
float: right;
}И ваш оператор catch неэффективен, сообщение перезаписывается "." в следующей строке.
Меня больше беспокоило то, что он вообще не выполняется, но я тоже осознал недопустимое размещение этого оператора и уже изменил его.





Я не знаю, случайно ли вы забыли поместить выполнение своей команды в приведенный выше код, но если это не случайность, вам действительно нужно выполнить команду: com.ExecuteNonQuery();
Я чувствую себя настолько глупо, что, должно быть, забыл об этом в море параметров, которые у меня есть. У меня было много этих сумасшедших моментов с кодированием за последние несколько дней, лол, я думаю, это то, что происходит, когда вы работаете над веб-сайтом почти без остановки.
Так бывает с лучшими из нас ^^ Удачи!
Вы никогда не выполняете Команду.