Как-то я не могу понять, что происходит с командой, которую я использую. В основном я хочу, чтобы вставить данные в файл EXCEL следующим образом:Странное поведение при запуске команды INSERT (C# и XLSX)
string ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=scriptsdb.xlsx;Extended Properties=\"Excel 12.0;ReadOnly=False;HDR=Yes;\"";
OleDbConnection objConn = new OleDbConnection(ConnectionString);
string sSQLQuery = "INSERT INTO [Plan1$] ([ID], [NAME], [DESCRIPTION], [SQL_CODE]) VALUES ('" + NextID + "','" + txtbxName.Text + "','" + txtbxDescription.Text + "','" + txtboxSQL.Text + "')";
OleDbCommand cmd = new OleDbCommand(sSQLQuery, objConn);
objConn.Open();
cmd.ExecuteNonQuery();
Теперь проверить его. Иногда он работает (запись добавляется), и иногда я получаю сообщение об ошибке (Операция должна использовать обновляемый запрос).
Как бы странно это ни звучало, я просто получаю сообщение об ошибке, когда поля «Текст» имеют только одно слово. например: «ТЕСТ». Как только я меняю его на «TEST ONE», он отлично работает. Если я попытаюсь сохранить его двумя словами с самого начала, это сработает.
Любая идея, что я могу делать неправильно?
Спасибо!
ИЗМЕНИТЬ разрешения на папку, в которой находится файл excel. – MMK
Проверьте ответ, надеюсь, это поможет вам. – MMK