Меня попросили создать программу, которая вставляет записи в одну родительскую таблицу и несколько дочерних таблиц.У меня вопрос: откуда мне знать, что такое PK для родительской таблицы, чтобы я мог добавить его как FK для дочернего элемента?ПК для родителя - это автоматический номер.Как я уже говорил в своем заголовке, я использую VB.net, MySQL, через соединение ODBC.Я должен сделать это через код и не могу использовать хранимые процедуры.Любые предложения?
спасибо
моя транзакция выглядит так:
Dim cmdText As String = "INSERT INTO candidate(first_name, last_name, phone1, phone2, email1, city, " _
& " state, country, zip,primary_contact_id ) VALUES (?,?, ?, ?,?,?, ?,?,?,?)"
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
Dim SqlStatus As Integer
Dim trans As Odbc.OdbcTransaction = conn.BeginTransaction(IsolationLevel.ReadCommitted)
Dim cmd As OdbcCommand = New OdbcCommand(cmdText, conn, trans)
Try
cmd.Parameters.Clear()
cmd.CommandType = CommandType.Text 'The default is CommandType.Text
With cmd.Parameters
.Add("@first_name", OdbcType.VarChar).Value = fName
.Add("@last_name", OdbcType.VarChar).Value = lName
.Add("@phone1", OdbcType.VarChar).Value = phone
.Add("@phone2", OdbcType.VarChar).Value = mobilePhone
.Add("@email1", OdbcType.VarChar).Value = email
.Add("@city", OdbcType.VarChar).Value = city
.Add("@state", OdbcType.VarChar).Value = state
.Add("@country", OdbcType.VarChar).Value = country
.Add("@zip", OdbcType.VarChar).Value = zip
.Add("@primary_contact_id", OdbcType.Int).Value = getContactFK
End With
SqlStatus = cmd.ExecuteNonQuery
If Not SqlStatus = 0 Then
trans.Commit()
Me.Close()
Else
MsgBox("Not Updated")
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
cmd.Dispose()
trans.Dispose()
End Try
Я все еще работаю над кодом, поэтому не уверен, работает ли он только пока, Джейсон