Почему моя база данных SQL Server не сохраняет данные с помощью процедуры - C # - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь создать процедуру и вызвать ее, когда мне нужно вставить некоторые данные.

Когда я запускаю приложение и нажимаю «сохранить», приложение не отвечает в течение как минимум 15 секунд, прежде чем вернуться в нормальное состояние. Но данные не сохраняются.

Я сделал тестовую процедуру и некоторые тестовые функции для ее проверки.

Строка подключения:

public static string Cn = 
       "Data Source = THIAGO\\SERVIDORSQL; Initial Catalog = DBClinica; Integrated Security = true";

Код уровня данных для вставки данных теста:

public string Adicionar_Teste(Dados_Pacientes dados_Pacientes)
{
    string resp = "";

    SqlConnection sqlConnection = new SqlConnection();

    try
    {
        sqlConnection.ConnectionString = Conexao.Cn;//cn is the SQL DATABASE path
        sqlConnection.Open();

        // SQL command
        SqlCommand sqlCmd = new SqlCommand();
        sqlCmd.Connection = sqlConnection;
        sqlCmd.CommandText = "ProcAdicionar_Teste";
        sqlCmd.CommandType = CommandType.StoredProcedure;

        SqlParameter parTeste = new SqlParameter();
        parTeste.ParameterName = "@Teste";
        parTeste.SqlDbType = SqlDbType.VarChar;
        parTeste.Size = 10;
        parTeste.Value = dados_Pacientes.Nome;
        sqlCmd.Parameters.Add(parTeste);
    }
    catch (Exception ex)
    {
        return resp = ex.Message;
    }
    finally
    {
        if (sqlConnection.State == ConnectionState.Open) 
            sqlConnection.Close();
    }

    return resp;
}

Бизнес-уровень:

public static string AdicionarTeste(string teste)
{
    Dados_Pacientes dados = new Dados_Pacientes();
    dados.Nome = teste;

    return dados.Adicionar_Teste(dados);
}

Метод формы, вызываемый, когда пользователь нажимает «сохранить»:

private void AdicionarTeste()
{
    string x = TextBoxNomeDoPaciente.Text;
    Negocios_Pacientes.AdicionarTeste(x);
}

Имя и путь SQL Server:

и

Структура базы данных SQL Server

Хранимая процедура:

ALTER PROCEDURE [dbo].[procAdicionar_Teste]
    @Teste VARCHAR(10)
AS
    INSERT INTO Teste (Teste) 
    VALUES (@Teste)

1 Ответ

1 голос
/ 17 апреля 2019

Вы не выполняете команду. Вам нужно добавить приведенную ниже инструкцию в конце блока try.

sqlCmd.ExecuteNonQuery();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...