Я пробовал много разных команд и аранжировок для этого. Это простая программа для ввода новых контактов в базу данных. Моя первая база данных. У меня есть простые текстовые поля, которые принимают только буквы, а затем почтовый индекс, который будет принимать только числа. Не уверен точно, почему мой «executenonquery()» говорит: «Свойство Connection не было инициализировано». Что мне не хватает?свойство соединения не инициализировано
string connection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Documents and Settings\\Sales\\My Documents\\Google Drive\\Home\\Contacts\\Contacts.accdb";
string command = "INSERT INTO [Contacts] (First Name, Last Name, Address, City, State/Province, ZIP/Postal Code) VALUES (@fname, @lname, @address, @city, @state, @zip)";
OleDbConnection conn = new OleDbConnection(connection);
OleDbCommand comm = new OleDbCommand();
OleDbDataAdapter da = new OleDbDataAdapter();
conn.Open();
comm.Parameters.AddWithValue("@First Name", fname);
comm.Parameters.AddWithValue("@Last Name", lname);
comm.Parameters.AddWithValue("@Address", address);
comm.Parameters.AddWithValue("@City", city);
comm.Parameters.AddWithValue("@State/Province", state);
comm.Parameters.AddWithValue("@ZIP/Postal Code", zip);
comm.ExecuteNonQuery();
conn.Close();
Вы пытались удалить двойные косые черты из строки подключения? Кроме того, вы можете столкнуться с ошибкой в своем SQL-заявлении, потому что я не думаю, что «State/Province» или «ZIP/Postal Code» являются допустимыми именами столбцов. Попробуйте окружить их квадратными скобками '[]' – jaressloo
, который дает «неизвестную escape-последовательность». – marcmiller2007