У меня есть хранимая процедура поиска данных, которые отлично работает в SQL Server 2008.Выполнение хранимой процедуры с vb.net
Мой код хранимой процедуры:
ALTER PROCEDURE [dbo].[uspSearch]
@SurName NVarchar(20)
AS
BEGIN
SET NOCOUNT ON;
SELECT
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.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,
SH.SchoolYear, SH.Levels, SH.Section, SH.DateEnrolled
FROM
StudentInformation SI
JOIN
StudentHistory SH ON SI.StudentID = SH.StudentID
JOIN
ParentInformation PI ON PI.ParentID = SI.ParentID
WHERE
SI.Surname Like '%'+ @Surname+'%'
END
Моя проблема в том, когда я исполню ее из vb.net, он не возвращает никаких данных и не появляется сообщение об ошибке всякий раз, когда я нажимаю кнопку поиска.
Может ли кто-нибудь помочь мне решить эту проблему? Заранее спасибо.
Мой vb.net код
Dim cmd As New SqlCommand
Dim da As New SqlDataAdapter
Dim dt As New DataTable
Dim i As Integer
Dim a As New OpenFileDialog
Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
cn.Open()
Using cmd As New SqlClient.SqlCommand("dbo.uspSearch", cn)
cmd.Parameters.AddWithValue("@SurName", txtSearch.Text)
dt.Clear()
da.Fill(dt)
dgv1.RowTemplate.Height = 50
dgv1.DataSource = dt
For i As Integer = 0 To dgv1.Columns.Count - 1
If TypeOf dgv1.Columns(i) Is DataGridViewImageColumn Then
DirectCast(dgv1.Columns(i), DataGridViewImageColumn).ImageLayout = DataGridViewImageCellLayout.Stretch
End If
Next
End Using
cn.Close()
End Sub
Вы побежали этот срабатывать непосредственно в SQL со значением вы пытаетесь. Возможно, это одно из подключений ... – Codexer
@codexer, да, я протестировал процедуру в sqlserver и дал мне правильный результат. но когда это не сработало в vb.net –