Не удалось получить схему целевой базы данных - ошибка Visual Studio - PullRequest
0 голосов
/ 20 января 2020

Я новичок в программировании в Visual Studio C#. Я пытался создать таблицу, используя хранимая процедура . Когда я пытаюсь обновить таблицу, я получаю сообщение об ошибке.

Сценарий хранимой процедуры выглядит следующим образом:

CREATE TABLE [dbo].[Table]
(
[Id] INT NOT NULL PRIMARY KEY,
[Error] VARCHAR(30) NULL
)

GO

CREATE PROCEDURE [dbo].[InsertLog]
(
@error varchar(30)
)

AS

INSERT INTO [dbo].[Table]
(
[Error]
)
VALUES
(
@error
)

GO

Моя строка подключения выглядит следующим образом:

connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf;Persist Security Info=true;Integrated Security=True;"

Ошибка при обновлении таблицы выглядит следующим образом:

enter image description here

Я использую LocalDB, и у меня нет учетных данных для входа. Пожалуйста, помогите мне с ошибкой.

Примечание: Я также рассмотрел другие вопросы StackOverflow, но никто не помог.

Спасибо

Ответы [ 2 ]

1 голос
/ 21 января 2020

Я думаю, что вы можете обратиться к следующим шагам для выполнения хранимой процедуры.

Сначала вы можете создать таблицу, как показано на следующем рисунке. Здесь я хочу упомянуть, что вам

необходимо использовать автоматическое увеличение c, если вы хотите использовать предоставленную вами хранимую процедуру.

Также здесь нельзя создать хранимую процедуру.

enter image description here

Во-вторых, нажмите базу данных-> выберите Программируемость-> выберите хранимые процедуры -> щелкните правой кнопкой мыши Добавить новую процедуру, как показано ниже:

CREATE PROCEDURE [dbo].[InsertLog]
(
@error varchar(30)
)

AS

INSERT INTO [dbo].[Newtable]
(
[Error]
)
VALUES
(
@error
)

enter image description here

Наконец, вы можете использовать следующий код для вызова хранимой процедуры в c#.

        string connectionstring = @"Connectionstring";
        SqlConnection connection = new SqlConnection(connectionstring);
        connection.Open();
        SqlCommand command = new SqlCommand("InsertLog",connection);
        command.CommandType = CommandType.StoredProcedure;
        command.Parameters.AddWithValue("@error", textBox1.Text);
        command.ExecuteNonQuery();
        connection.Close();
0 голосов
/ 20 января 2020

Как вы упомянули строку подключения? Не могли бы вы добавить это также

...