Как заставить пользователя выбрать имя базы данных? - PullRequest
0 голосов
/ 28 апреля 2020

в моем проекте мне нужны некоторые изменения в моем коде, чтобы дать пользователю возможность выбрать имя sql базы данных!

, и это мой оригинальный код:

            Dim DssD As String
    DssD = TextBox1.Text

    Zsql = "CREATE DATABASE my_db ON PRIMARY" +
        "(Name=my_db, filename = 'D:\DB\SQL\my_db.mdf')log on" +
        "(name=my_db_log, filename='D:\DB\SQL\my_db_log.ldf')"

    Zcmd = New SqlCommand(Zsql, Zsqlcon)
    Try
        Zsqlcon.Open()
        Zcmd.ExecuteNonQuery()
        Zsqlcon.Close()

        MsgBox("Done", MsgBoxStyle.Information, " ZerAllail")
    Catch
        MsgBox("Somthing wrong", MsgBoxStyle.Critical, " ZerAllail")
    End Try

работает хорошо, но это не создать журнал сбой!

1 Ответ

0 голосов
/ 28 апреля 2020

Вы можете использовать интерполированную строку (с $), если вы используете Visual Studio 2015 или более позднюю версию. Вы можете встраивать переменные непосредственно в строку, заключенную в фигурные скобки. В противном случае см. String.Format.

Я добавил блок Using...End Using в ваш код, потому что соединения и команды должны быть закрыты и удалены. Они используют неуправляемые ресурсы и должны использовать их в своих .Dispose методах. Блок Using сделает это за вас, даже если будет ошибка.

Private Sub CreateDatabase()
    Dim DssD = TextBox1.Text 'I would expect you would validata this input
    Dim Zsql = $"CREATE DATABASE {DssD} ON PRIMARY (Name=my_db, filename = 'D:\DB\SQL\{DssD}.mdf')log on 
        (name={DssD}_log, filename='D:\DB\SQL\{DssD}_log.ldf')"
    Try
        Using Zsqlcon As New SqlConnection("Your connection string"),
            Zcmd = New SqlCommand(Zsql, Zsqlcon)
            Zsqlcon.Open()
            Zcmd.ExecuteNonQuery()
        End Using
        MsgBox("Done", MsgBoxStyle.Information, " ZerAllail")
    Catch
        MsgBox("Somthing wrong", MsgBoxStyle.Critical, " ZerAllail")
    End Try
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...