как сделать так, чтобы внешние ключи автоматически заполнялись реляционными данными, связанными с приложением ac # - PullRequest
0 голосов
/ 22 сентября 2019

я создаю приложение ac #, которое может сохранять данные в реляционной базе данных сервера sql, и я не знаю, почему внешние ключи не заполняются «они заполнены None», я думал, что они будут заполнены автоматически, если я создамсвязи между таблицами, я не создал код, который все равно их сохраняет, пожалуйста, кто-нибудь имеет какое-либо представление об этой проблеме.

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

public static bool dataInsertVisiteur(Visiteur c)
        {
            // creation d'un return default 
            bool IsSuccess = false;

            // connection avec la base de données
            SqlConnection conn = new SqlConnection(MyConnStrng);

            try
            {
                conn.Open();

                // la requête SQL pour insertion des données

                // table Visiteur
                string sql1 = "INSERT INTO Visiteur (Nom_Visiteur, Prénom_Visiteur, EmailAdresse, CellPhoneNumber) VALUES (@Nom_Visiteur, @Prénom_Visiteur, @EmailAdresse, @CellPhoneNumber)";

                // creation des commandes SQL
                SqlCommand cmd1 = new SqlCommand(sql1, conn);

                // creation du parameter add data

                // parametrs table visiteur
                #region parametrs table visiteur
                cmd1.Parameters.AddWithValue("@Nom_Visiteur", c.NomVisiteur);
                cmd1.Parameters.AddWithValue("@Prénom_Visiteur", c.PrénomVisiteur);
                cmd1.Parameters.AddWithValue("@EmailAdresse", c.EmailAdresse);
                cmd1.Parameters.AddWithValue("@CellPhoneNumber", c.CellPhoneNumber);
                #endregion

                //ouverture de la connection avec la base de données


                #region table visiteur
                int rows1 = cmd1.ExecuteNonQuery();
                if (rows1 > 0)
                {
                    IsSuccess = true;
                }
                else
                {
                    IsSuccess = false;
                }
                #endregion

            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }
            finally
            {
                conn.Close();
            }

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