У меня есть простой запрос для обновления информации о пользователях, однако я получаю сообщение об ошибке, указывающее, что формат строки инициализации не соответствует спецификации по индексу 33, и кажется чтобы выделить этот конкретный код Connection.Close();
однако им не уверен, почему, вот полный код:формат строки инициализации не соответствует спецификации по индексу 33
public void AddNewUser()
{
string filePath;
try
{
filePath = (Application.StartupPath + ("\\" + DBFile));
connection = new System.Data.OleDb.OleDbConnection((ConnectionString + filePath));
connection.Open();
System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand();
command.Connection = connection;
// ---set the user's particulars in the table---
string sql = ("UPDATE enroll SET SSN=\'"
+ (txtSSN.Text + ("\', " + ("FirstName=\'"
+ (txtFirstName.Text + ("\', " + ("LastName=\'"
+ (txtLastName.Text + ("\' "
+ (" WHERE ID=" + _UserID))))))))));
command.CommandText = sql;
command.ExecuteNonQuery();
MessageBox.Show("Student added successfully!", "Registered");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "Error");
}
finally
{
connection.Close();
}
}
EDIT:
Вот файловые пути:
const string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"C:\\Users\\Zack\\My Documents\\Test\\Database.mdb";
const string DBFile = "C:\\Users\\Zack\\My Documents\\Test\\Database.mdb";
У вас есть уязвимость в SQL-инъекции. – SLaks
Строка подключения sytnax неверна. Просмотрите: http: //stackoverflow.com/questions/8243008/format-of-the-initialization-string-does-not-conform-to-specification-starting-a или отправьте образец того, что оценивает 'filePath'. – Nico
@Nico Я отредактировал вопрос и добавил пути к файлу – Zack