Я пытаюсь написать запрос к моей базе данных. Когда я изначально написал это, я не использовал параметры, теперь я пытаюсь это сделать, но теперь я получаю Mysql Error.C# Mysql Parameters Issue
Количество столбцов не совпадает со значением на row1
Что в моей колонке 1 У меня есть автоматический Увеличивается число помечены как «ID», который я не считаю, что я должен добавить на запрос из-за автоматического приращения ..
Это вновь написанный код:
MySqlConnection conn = new MySqlConnection(dbConnection);
string Query = "INSERT INTO tasklist.tasks (TaskName, AssignedTo, StartDate, EndDate, Description, DirPath, Completed) VALUES (?TaskName),(?AssignedTo),(?StartDate),(?EndDate),(?Description),(?DirPath),(?Completed);";
MySqlCommand insertCommand = new MySqlCommand(Query, conn);
conn.Open();
insertCommand.Parameters.AddWithValue("?TaskName", txtTaskName.Text);
insertCommand.Parameters.AddWithValue("?AssignedTo", txtAssignTo.Text);
insertCommand.Parameters.AddWithValue("?StartDate", txtdateStart.Value.ToString("yyyy-M-d"));
insertCommand.Parameters.AddWithValue("?EndDate", txtDateEnd.Value.ToString("yyyy-M-d"));
insertCommand.Parameters.AddWithValue("?Description", txtTaskDescription.Text);
insertCommand.Parameters.AddWithValue("?DirPath", txtDirPath.Text);
insertCommand.Parameters.AddWithValue("?Completed",("0"));
insertCommand.ExecuteNonQuery();
conn.Close();
Запомните предыдущий путь без работы параметров ... однако с параметрами не работает. Что именно я делаю неправильно здесь? Любая помощь будет принята с благодарностью.
[Можем ли мы отказаться от использования AddWithValue() уже?] (Http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-use-addwithvalue-уже /) – Plutonix
При использовании .add VS заявляет, что '.add' устарел и использовать' .AddWithValue' – Mokey
Посмотрите более внимательно - это '.Add (объект, объект) ', которая устарела. 'Parameters.Add (" @ p1 ", MySqlDbType.Foo) .Value = varBar;' Указание типа данных предотвращает любые недоразумения или нежелательные преобразования типов – Plutonix