Выдается ошибка вставки, после выполнения Unload Me - VB

Узнай цену своей работы

Формулировка задачи:

Есть две таблицы в SQL Server: KlientsNew(список всех клиентов) и Adress (где для соот-его кода клиента его адрес)
Эти две таблицы связаны по коду клиента (внешний ключ FK_TAdress_TKlient) и стоит cв-во каскадного удаления адреса из таблицы Adress в случае удаления данного клиента из таблицы KlientsNew.
Есть форма, на которой все TextBox связаны с полями из Таблицы Клиент и DataGrid, который га основе таблицы Адрес
Есть кнопка Отмена.
На кнопке Отмена висит такой обработчик:
Так вот, при выполнении строки Unload Me выдается сообщение:
Insert statemet conficted with column Foreign Key constaint FK_TAdress_TKlient...
Во-первых мне не понятно почему происходит вставка, а во-вторых, что за ошибка.

Решение задачи: «Выдается ошибка вставки, после выполнения Unload Me»

textual
Листинг программы
<font size="2"><font color="blue">Public</font> <font color="blue">Function</font> TraceRs(rst <font color="blue">As</font> ADODB.Recordset, <font color="blue">Optional</font> SortCol <font color="blue">As</font> <font color="blue">String</font> = "", <font color="blue">Optional</font> Comment <font color="blue">As</font> <font color="blue">String</font>) <font color="blue">As</font> <font color="blue">String</font><br><font color="green">'ðàñïå÷àòûâàåò ñîäåðæèìîå ðåêîðäñåòà - äëÿ öåëåé îòëàäêè</font><br><font color="blue">Dim</font> rsClone <font color="blue">As</font> ADODB.Recordset<br><font color="blue">Dim</font> i <font color="blue">As</font> <font color="blue">Long</font><br><font color="blue">Dim</font> strTmp <font color="blue">As</font> <font color="blue">String</font><br><font color="blue">Dim</font> s <font color="blue">As</font> <font color="blue">String</font><br>    <font color="blue">Set</font> rsClone = rst.Clone<br>    rsClone.Sort = rst.Sort<br>    Debug.Print "Tracing recordset " & Comment<br>    strTmp = ""<br>    <font color="blue">For</font> i = 0 <font color="blue">To</font> rsClone.Fields.Count - 1<br>        strTmp = strTmp & rsClone(i).Name & " | "<br>    <font color="blue">Next</font> i<br>    Debug.Print strTmp<br>    s = strTmp & vbCrLf<br>    <font color="blue">While</font> <font color="blue">Not</font> rsClone.EOF<br>        strTmp = ""<br>        <font color="blue">For</font> i = 0 <font color="blue">To</font> rsClone.Fields.Count - 1<br>            strTmp = strTmp & GetStringValue(rsClone.Fields(i).Value) & " | "<br>        <font color="blue">Next</font> i<br>        Debug.Print strTmp<br>        s = s & strTmp & vbCrLf<br>        rsClone.MoveNext<br>    <font color="blue">Wend</font><br>    TraceRs = s<br><font color="blue">End</font> <font color="blue">Function</font><br><font color="green">'</font><br><font color="blue">Private</font> <font color="blue">Function</font> GetStringValue(v) <font color="blue">As</font> <font color="blue">String</font><br>    <font color="blue">If</font> IsNull(v) <font color="blue">Then</font><br>        GetStringValue = "NULL"<br>    <font color="blue">ElseIf</font> IsEmpty(v) <font color="blue">Then</font><br>        GetStringValue = "EMPTY"<br>    <font color="blue">Else</font><br>        GetStringValue = v<br>    <font color="blue">End</font> <font color="blue">If</font><br><font color="blue">End</font> Function</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.273 из 5
Похожие ответы