Мой код создает базу данных, затем создает таблицы для базы данных. Иногда, когда я запускаю код, он работает. В других случаях создается база данных, но когда она пытается создать таблицы, возникает исключение: «Ошибка входа в систему для пользователя»Ошибка входа в SQL при создании таблицы
Странно, хотя иногда он работает и создает таблицы, а затем он иногда вызывает эту ошибку , без изменения кода.
Редактировать: Также код для создания таблицы всегда работает, когда у меня есть отдельная кнопка после создания базы данных, хотя у меня возникают проблемы, когда я размещаю ее сразу после создания базы данных.
Я использую интегрированную защиту. Если кто-нибудь может сообщить мне, почему эта проблема происходит, и как я могу это исправить, что было бы оценено.
базы данных код создания:
Dim str As String
'"Data Source=(Local)\SQLEXPRESS;Initial Catalog=TestDB;Integrated Security=True"
Dim myConn As SqlConnection = New SqlConnection("Server=(local)\SQLEXPRESS;Integrated Security=True;database=master")
str = "Create Database TestDB"
Dim myCommand As SqlCommand = New SqlCommand(str, myConn)
Try
myConn.Open()
myCommand.ExecuteNonQuery()
Dim result1 As DialogResult = MessageBox.Show("Database is created successfully",
"MyProgram", MessageBoxButtons.OK,
MessageBoxIcon.Information)
If result1 = DialogResult.OK Then
End If
Catch ex As Exception
MessageBox.Show(ex.ToString())
Finally
If (myConn.State = ConnectionState.Open) Then
myConn.Close()
End If
Me.Close()
End Try
Таблица Код создания:
Try
Dim con As New SqlConnection
Dim cmd As New SqlCommand
con.ConnectionString = "Data Source=(Local)\SQLEXPRESS;Initial Catalog=TestDB;Integrated Security=True"
con.Open()
cmd.Connection = con
cmd.CommandText = "CREATE TABLE parts" + "(partID nvarchar(50), description nvarchar(50), color nvarchar(50))"
cmd.ExecuteNonQuery()
cmd.CommandText = "CREATE TABLE stockNew" + "(stockID1 nvarchar(50), stockID2 nvarchar(50), stockID3 nvarchar(50))"
cmd.ExecuteNonQuery()
cmd.CommandText = "CREATE TABLE stockUsed" + "(stockID1 nvarchar(50), stockID2 nvarchar(50), stockID3 nvarchar(50))"
cmd.ExecuteNonQuery()
cmd.CommandText = "CREATE TABLE activationCode" + "(blah nvarchar(50))"
cmd.ExecuteNonQuery()
MessageBox.Show("Tables have been created successfully", "MyProgram", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
Я добавил еще странное происшествие: Код для создания таблицы всегда работает, когда я его в качестве отдельной кнопки после того, как база данных создается, даже если он имеет проблемы, когда я размещаю его сразу после создания базы данных. –