Я занимаюсь программированием на своем компьютере, и он отлично работает - программа, сама база данных, вставка в базу данных также работает нормально. Но когда публикую и устанавливаю программу на другой компьютер. Он аварийно завершает работу и не выполняет команду INSERT.
Вот мой код.
Private Sub cmdBlank_Click(sender As System.Object, e As System.EventArgs) Handles cmdBlank.Click
strTariff1 = txtPart1.Text & " " & txtPName1.Text & " " & txtQty1.Text & " " & txtU1.Text
strTariff2 = txtPart2.Text & " " & txtPName2.Text & " " & txtQty2.Text & " " & txtU2.Text
strTariff3 = txtPart3.Text & " " & txtPName3.Text & " " & txtQty3.Text & " " & txtU3.Text
strTariff4 = txtPart4.Text & " " & txtPName4.Text & " " & txtQty4.Text & " " & txtU4.Text
'strTariff5 = txtPart5.Text & " " & txtPName5.Text & " " & txtQty5.Text & " " & txtU5.Text
Call saveToDb()
frmreportax.Show()
End Sub
Private Function saveToDb()
conn.Close()
Dim cmdAdd, cmdCount, cmdAdd2 As New iDB2Command
Dim sqlAdd, sqlCount, sqlAdd2 As String
Dim curr1, curr2, curr3, curr4 As String
Dim count As Integer
conn.ConnectionString = str
conn.Open()
'Check for duplicate entry
sqlCount = "SELECT COUNT(*) AS count FROM cewe WHERE transport=@transport AND blnum=@blnum"
With cmdCount
.CommandText = sqlCount
.Connection = conn
.Parameters.AddWithValue("@transport", frmPart1.txtTransport.Text)
.Parameters.AddWithValue("@blnum", frmPart1.txtNo.Text)
End With
count = Convert.ToInt32(cmdCount.ExecuteScalar())
If count <> 0 Then
MsgBox("Duplicate Entry: " & frmPart1.txtTransport.Text, vbOKOnly + vbExclamation)
Else
sqlAdd = "INSERT INTO cewe (page) " & _
"VALUES (@page) "
With cmdAdd
.Parameters.AddWithValue("@page", Val(frmPart1.txtPage.Text))
.CommandText = sqlAdd
.Connection = conn
.ExecuteNonQuery()
End With
end if
cmdAdd.Dispose()
cmdAdd2.Dispose()
conn.Close()
end function
Подскажите пожалуйста, что я делаю не так? Когда я запускаю и устанавливаю программу на свой компьютер, она работает отлично. Но когда я запускаю / устанавливаю его на другой компьютер, он вылетает после нажатия cmdBlank.
2 ответа
AS400 iSeries DB2 необходимо обновить до версии 6.xx.0800, и все исправлено!
Установщик можно найти здесь http://www-03.ibm.com/systems /power/software/i/access/windows_sp.html
Задача решена!
Может быть ряд причин, вызывающих проблему, но в первую очередь следует поискать любые журналы ошибок или отчеты о сбоях, которые могут указать на проблему. Попробуйте выполнить отладку или войти в журнал, чтобы получить лучшее представление. Помимо этого, есть несколько небольших предложений, которые могут помочь ниже.
Есть ли у другого компьютера доступ к базе данных, на которую вы указываете? Указывает ли соединение с базой данных на localhost? В этом случае вам нужно убедиться, что у вас есть те же учетные данные (хост, имя пользователя, пароль, порт и т. Д.), Настроенные на сервере базы данных на новом компьютере. Установлены ли драйверы базы данных на новый компьютер? В чем принципиальные различия между двумя машинами?
Похожие вопросы
Новые вопросы
sql
Язык структурированных запросов (SQL) - это язык запросов к базам данных. Вопросы должны включать примеры кода, структуру таблицы, примеры данных и тег для используемой реализации СУБД (например, MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 и т. Д.). Если ваш вопрос относится исключительно к конкретной СУБД (использует определенные расширения / функции), используйте вместо этого тег этой СУБД. Ответы на вопросы, помеченные SQL, должны использовать стандарт ISO / IEC SQL.