Помогите! , Vb OLEDB вставить запись с табличными отношениями!
Надеюсь, кто-нибудь сможет мне помочь....
так просто , у меня есть 2 таблицы в базе данных access, и я хочу вставить новую запись в DBChild C_Name & C_Code через мой VB.Чистый проект. >_<
DBParent
P_ID = PK (автономер)
P_Name = строка
P_Info = строка
DBChild
P_ID = отношение / отражение от P_ID DBParent (так что этот автономер тоже как-то)
Основные достижения и итоговые документы ПК (счетчик)
C_Name = строка
C_Code = строка
*Информация о связях таблиц (P_ID)
- Тип : Один Ко Многим
- Проверено : Обеспечение Ссылочной Целостности
- Проверено : Каскадное Обновление Связанных Полей
*Примечание: в режиме просмотра DBParent он имеет выпадающий/складной DBChild, и я могу легко редактировать и добавлять новую запись непосредственно оттуда через базу данных Access
*Как он выглядит в базе данных Access (у каждого родительского элемента есть свой собственный дочерний элемент, и он складывается)
[-] P_ID | P_Name | P_Info 6 | PName6 | PInfo6 ---------------------------- C_ID | C_Name | C_Code 5 | Child1 | Code1 7 | Child2 | Code2 8 |????? <- Add new row inside this P_ID /C_ID to fill C_Name & C_Code via VB? ---------------------------- [+] 7 | PName7 | PInfo7 ----------------------------
*Что я предпочитаю:
- держите DBChild - основные достижения и итоговые документы к ПК (счетчик) - мне очень нужен этот на мой проект)
- Keep P_ID = Relation / Reflection From P_ID of DBParent - еще одна важная вещь
- Использование условного "где", поскольку мой проект нуждается в этом, чтобы сравнить значение с UniqeID, о котором я упоминал ниже.
- Господи, помоги мне найти ответ, или хотя бы Чака Норриса...
Что я уже пробовал:
Я уже пробовал это сделать
Try dim UniqeID = 6 'Let's say this number as uniqe for now DB.OpenConnection() 'Open Connection DB.SQLQuery = "INSERT INTO DBChild (C_Name,C_Code) VALUES (@Name,@Code) " & "SELECT * FROM DBParent WHERE P_ID = " & UniqeID & ";" DB.Command = New OleDbCommand(DB.SQLQuery, DB.Connection) With DB.Command .Parameters.AddWithValue("@Name", Txt_Snippet_Title.Text) .Parameters.AddWithValue("@Code", Txt_Editor_Tag.Text) .ExecuteNonQuery() End With MsgBox("Record Saved!.", MsgBoxStyle.Information) 'Never Reach this Line... Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error " & GetCurrentMethod().Name & " !") DB.CloseConnection() Finally DB.CloseConnection() End Try
Но Ошибка Говорят : Отсутствует точка с запятой (;) в конце инструкции SQL
и когда я пытаюсь отредактировать/изменить непосредственно DBChild (как C_Name, так и C_Code) через VB, то ошибка говорит :
"Вы не можете добавить или изменить запись, потому что связанная запись требуется в таблице DBParent"
просто застрял на этом в течение нескольких дней (правда, много серфинга в интернете) , но до сих пор не могу найти ответы...
Заранее спасибо.
Дж