Sql server 如何在textbox和datagridview中检索值
我想在Sql server 如何在textbox和datagridview中检索值,sql-server,vb.net,winforms,datagridview,Sql Server,Vb.net,Winforms,Datagridview,我想在文本框中显示记录,并在datagridview中只显示一些记录 存储过程代码 SELECT sh.SchoolYear, sh.Levels,sh.Section, sh.DateEnrolled as LatestDate , SI.StudentID,SI.Surname,SI.FirstName,SI.MiddleName, SI.StudAddress , SI.BirthDay,SI.Gender, SI.Nationality,
文本框
中显示记录,并在datagridview
中只显示一些记录
存储过程代码
SELECT sh.SchoolYear,
sh.Levels,sh.Section, sh.DateEnrolled as LatestDate ,
SI.StudentID,SI.Surname,SI.FirstName,SI.MiddleName, SI.StudAddress ,
SI.BirthDay,SI.Gender, SI.Nationality, SI.BirthPlace,
SI.TelNum,SI.SchoolWhereGraduated ,
SI.DatesWhenGraduated, SI.SchoolLastAttended,
SI.SchoolAddress, SI.Note,SI.StudImage,
PI.Father_FirstName,PI.Father_LastName,
PI.Father_MI,PI.Father_Occupation,
PI.Father_TelNUm, PI.Mother_FirstName, PI.Mother_LastName,
PI.Mother_MI,PI.Mother_Occupation,PI.Mother_TelNum,
PI.Contact_FirstName,PI.Contact_LastName,PI.Contact_MI,
PI.Contact_Mobile,PI.Contact_TelNum,PI.Contact_Address
FROM StudentInformation SI
JOIN StudentHistory SH
ON SI.StudentID = SH.StudentID
JOIN ParentInformation PI
ON PI.ParentID = SI.ParentID
WHERE si.StudentID = @studID
ORDER BY DateEnrolled DESC
vb.net代码
cmd = New SqlCommand("uspstudents", cn)
cmd.Parameters.AddWithValue("@studID", frmView.dgv1.SelectedCells(0).Value)
cmd.CommandType = CommandType.StoredProcedure
da.SelectCommand = cmd
da.Fill(dt)
cboSchoolYear.Text = dt.Rows(0)("SchoolYear").ToString
cboSection.Text = dt.Rows(0).Item("Section").ToString
cboGradeLevel.Text = dt.Rows(0).Item("levels").ToString
dtpEnrollment.Text = dt.Rows(0).Item("LatestDate").ToString
txtStudLN.Text = dt.Rows(0)("SurName").ToString
txtStudFN.Text = dt.Rows(0)("FirstName").ToString
txtStudMN.Text = dt.Rows(0)("MiddleName").ToString
txtAddress.Text = dt.Rows(0)("StudAddress").ToString
dtpBirthday.Text = dt.Rows(0)("birthday").ToString
cboNationality.Text = dt.Rows(0)("Nationality").ToString
txtPlaceOfBirth.Text = dt.Rows(0)("BirthPlace").ToString
txtStudentCP.Text = dt.Rows(0)("telnum").ToString
txtSWG.Text = dt.Rows(0)("schoolWhereGraduated").ToString
dtpDWG.Text = dt.Rows(0)("datesWhenGraduated").ToString
txtSLA.Text = dt.Rows(0)("schoolLastAttended").ToString
txtSchoolAddress.Text = dt.Rows(0)("SchoolAddress").ToString
txtNote.Text = dt.Rows(0)("Note").ToString
txtFatherGN.Text = dt.Rows(0)("Father_FirstName").ToString
txtFatherMI.Text = dt.Rows(0)("Father_MI").ToString
txtFatherLN.Text = dt.Rows(0)("Father_Lastname").ToString
txtFatherOccupation.Text = dt.Rows(0)("Father_Occupation").ToString
txtFatherCP.Text = dt.Rows(0)("Father_telnum").ToString
txtMotherGN.Text = dt.Rows(0)("Mother_FirstName").ToString
txtMotherLN.Text = dt.Rows(0)("Mother_LastName").ToString
txtMotherMI.Text = dt.Rows(0)("Mother_MI").ToString
txtMotherOccupation.Text = dt.Rows(0)("Mother_Occupation").ToString
txtMotherCP.Text = dt.Rows(0)("Mother_telNum").ToString
txtContactGN.Text = dt.Rows(0)("Contact_FirstName").ToString
txtContactLN.Text = dt.Rows(0)("Contact_LastName").ToString
txtContactMI.Text = dt.Rows(0)("Contact_MI").ToString
txtContactAddress.Text = dt.Rows(0)("Contact_Address").ToString
txtContactCP.Text = dt.Rows(0)("Contact_Mobile").ToString
txtContactTelNum.Text = dt.Rows(0)("Contact_telnum").ToString
dgvHistory.DataSource = dt
在文本框
中显示数据效果良好,但问题出在datagridview
中。我尝试的是将此代码放入我的vb.net代码中
cmd = New SqlCommand("uspstudents", cn)
cmd.Parameters.AddWithValue("@studID", frmView.dgv1.SelectedCells(0).Value)
cmd.CommandType = CommandType.StoredProcedure
da.SelectCommand = cmd
da.Fill(dt)
cboSchoolYear.Text = dt.Rows(0)("SchoolYear").ToString
cboSection.Text = dt.Rows(0).Item("Section").ToString
cboGradeLevel.Text = dt.Rows(0).Item("levels").ToString
dtpEnrollment.Text = dt.Rows(0).Item("LatestDate").ToString
txtStudLN.Text = dt.Rows(0)("SurName").ToString
txtStudFN.Text = dt.Rows(0)("FirstName").ToString
txtStudMN.Text = dt.Rows(0)("MiddleName").ToString
txtAddress.Text = dt.Rows(0)("StudAddress").ToString
dtpBirthday.Text = dt.Rows(0)("birthday").ToString
cboNationality.Text = dt.Rows(0)("Nationality").ToString
txtPlaceOfBirth.Text = dt.Rows(0)("BirthPlace").ToString
txtStudentCP.Text = dt.Rows(0)("telnum").ToString
txtSWG.Text = dt.Rows(0)("schoolWhereGraduated").ToString
dtpDWG.Text = dt.Rows(0)("datesWhenGraduated").ToString
txtSLA.Text = dt.Rows(0)("schoolLastAttended").ToString
txtSchoolAddress.Text = dt.Rows(0)("SchoolAddress").ToString
txtNote.Text = dt.Rows(0)("Note").ToString
txtFatherGN.Text = dt.Rows(0)("Father_FirstName").ToString
txtFatherMI.Text = dt.Rows(0)("Father_MI").ToString
txtFatherLN.Text = dt.Rows(0)("Father_Lastname").ToString
txtFatherOccupation.Text = dt.Rows(0)("Father_Occupation").ToString
txtFatherCP.Text = dt.Rows(0)("Father_telnum").ToString
txtMotherGN.Text = dt.Rows(0)("Mother_FirstName").ToString
txtMotherLN.Text = dt.Rows(0)("Mother_LastName").ToString
txtMotherMI.Text = dt.Rows(0)("Mother_MI").ToString
txtMotherOccupation.Text = dt.Rows(0)("Mother_Occupation").ToString
txtMotherCP.Text = dt.Rows(0)("Mother_telNum").ToString
txtContactGN.Text = dt.Rows(0)("Contact_FirstName").ToString
txtContactLN.Text = dt.Rows(0)("Contact_LastName").ToString
txtContactMI.Text = dt.Rows(0)("Contact_MI").ToString
txtContactAddress.Text = dt.Rows(0)("Contact_Address").ToString
txtContactCP.Text = dt.Rows(0)("Contact_Mobile").ToString
txtContactTelNum.Text = dt.Rows(0)("Contact_telnum").ToString
dgvHistory.DataSource = dt
但它显示了我记录中的所有数据,我只想在
datagridview
中显示学年
、部分
和级别
。有人能帮我解决这个问题吗。谢谢您需要手动为DataGridView创建列。类似这样的事情-
dgvHistory.ColumnCount = 3
dgvHistory.AutoGenerateColumns = False
dgvHistory.Columns(0).Name = "SchoolYear"
dgvHistory.Columns(0).DataPropertyName = "schoolyear"
dgvHistory.Columns(1).Name = "Section"
dgvHistory.Columns(1).DataPropertyName = "Section"
dgvHistory.Columns(2).Name = "Levels"
dgvHistory.Columns(2).DataPropertyName = "levels"
dgvHistory.DataSource = dt
这是可行的,但是如果我有很多学年、部分和级别(或者我应该说是学生的历史),会怎么样我想在
datagridview
中显示的内容?@DietherSilverious:它适用于任意数量的记录。这些代码显示了我所期望的内容,但我现在想知道为什么我的数据在datagridview
中显示会变得重复?我的问题有什么不对吗?@DietherSilverious:你的问题可能是错的。但首先请检查StudentHistory
表中特定studentid的记录。在SSMS中运行查询并查看结果。在SSMS中检查我的查询后,我发现查询有问题。谢谢你的大力帮助