第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用存儲(chǔ)在 ObservableCollection 中的值向數(shù)據(jù)庫(kù)添加新行?

如何使用存儲(chǔ)在 ObservableCollection 中的值向數(shù)據(jù)庫(kù)添加新行?

C#
ABOUTYOU 2022-12-04 11:11:30
所以我有兩個(gè) ObservableCollections:ObservableCollection<Student> studentslistObservableCollection<Subject> subjectslist我將它們傳遞給我已經(jīng)建立了與 sql 數(shù)據(jù)庫(kù)的整個(gè)通信的類。studentslist 包含以下傳遞的值:StudentsList.Add(new Student { IdStudent = newStudentId, Name = NameBox.Text, Surname = SurnameBox.Text, Index = IndexBox.Text })主題列表包含我的列表框中選中的復(fù)選框的值(我仍然不確定這是否正確):var selectedSubjects = SubjectList.Where(subjects => subjects.IsChecked == true);var selectedSubjectsCollection = new ObservableCollection<Subject>(selectedSubjects);這是我的主題類:public class Subject    {        public int IdSubject{ get; set; }        public string subject{ get; set; }        public bool IsChecked { get; set; }        public override string ToString()        {            return $"{subject}";        }    }現(xiàn)在在我的課堂上,負(fù)責(zé)與 sql 數(shù)據(jù)庫(kù)的連接,我創(chuàng)建了獲取這兩個(gè)集合的方法,并根據(jù)它們的值我想在數(shù)據(jù)庫(kù)中創(chuàng)建新記錄:public void addRecord(ObservableCollection<Student> studentslist, ObservableCollection<Przedmiot> subjectslist)        {            OpenConection();            //...            CloseConnection();        }在數(shù)據(jù)庫(kù)中我有學(xué)生表:Student(IdStudent, FirstName, LastName, IndexNumber)和主題表:Subject(IdSubject, Name)就我從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)而言,我不知道如何以正確的方式將這些值傳遞給數(shù)據(jù)庫(kù)中的相應(yīng)值。
查看完整描述

1 回答

?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊

我喜歡使用存儲(chǔ)過(guò)程來(lái)做這種事情,以最大限度地減少應(yīng)用程序中的 T-SQL 代碼量。


一個(gè)例子是:


public static void InsertSubject(Przedmiot subject)

{

    using (SqlConnection conn = new SqlConnection("Connection String"))

    {

        try

        {

            SqlCommand command = new SqlCommand("dbo.InsertSubject", conn) { CommandType = CommandType.StoredProcedure };


            command.Parameters.Add(new SqlParameter("@IdSubject", subject.IdSubject));

            command.Parameters.Add(new SqlParameter("@Name", subject.subject));


            conn.Open();


            command.ExecuteNonQuery();

        }

        catch (Exception ex)

        {

            // handle exceptions

        }

    }

}

然后,您將擁有一個(gè)具有相同簽名的存儲(chǔ)過(guò)程來(lái)執(zhí)行INSERT,即:


CREATE PROCEDURE dbo.InsertSubject

    @IdSubject int

    , @Name varchar(50)

AS


...


GO

如果你想傳遞整個(gè)集合,你可以foreach在上面的例子中實(shí)現(xiàn)一個(gè)循環(huán)。


我個(gè)人喜歡在每次插入時(shí)調(diào)用一次這些方法并將其作為int返回方法(例如),這樣我就可以傳遞一些數(shù)據(jù),例如插入行的 ID。


查看完整回答
反對(duì) 回復(fù) 2022-12-04
  • 1 回答
  • 0 關(guān)注
  • 183 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)