PDA

View Full Version : ریختن خروجی یک sp در یک datagride با vb.net



maryam_jamshid
یک شنبه 26 آذر 1385, 09:55 صبح
سلام دوستان
من این موضوع رو search کردم ،چیزی ندیدم.
چطوری میتونم باvb.net خروجی sp که ساختم رو در یک datagride بریزم.؟

زمانی که sp رو در query analyser استفاده میکنم جواب میده .فرض کنیی sp که ساختم اسمش App_TeacherView باشه.

reza_rad
یک شنبه 26 آذر 1385, 10:08 صبح
می تونید خروجی SP روی توی dataset بریزید و اونو به گرید بایند کنید

یا اینکه در یک arraylist بریزید و arraylist رو به گرید باند کنید. برای این روش می تونید با دیتاریدر بخونید و یکی یکی بریزید توی arraylist .

maryam_jamshid
یک شنبه 26 آذر 1385, 12:51 عصر
ممنونم
ولی نمیدونم با چه کد vb.net باید خروجی sp را در dataset بریزیم.؟
کد sp "

CREATE PROCEDURE App_TeacherView
@UserName varchar(20)
AS

Select NameFamily,Emtiaz , Tozih
FROM ##TeacherTemp,lu_TeacherName
WHERE ##TeacherTemp.Teacher_Code=lu_TeacherName.Teacher_ Code
AND
##TeacherTemp.Ins_User = @UserName

GO

emshahram
یک شنبه 26 آذر 1385, 22:41 عصر
این کد شاید بدردت بخوره:



Dim objCn As New SqlConnection
Dim objDa As New SqlDataAdapter
Dim objDs As New DataSet
objCn = New SqlConnection( _
"Data Source=.\SQLEXPRESS;AttachDbFilename=Data.mdf;" & _
"Integrated Security=True;Connect Timeout=30;User Instance=False")
objDa.SelectCommand = New SqlCommand
objDa.SelectCommand.Connection = objCn
objDa.SelectCommand.CommandText = "sptest2"
objDa.SelectCommand.CommandType = CommandType.StoredProcedure
objDa.SelectCommand.Parameters.AddWithValue("@pClass1", "A")
objCn.Open()
objDa.Fill(objDs, "sptest2")
objCn.Close()
objCn = Nothing
objDa = Nothing
Me.DataGridView1.AutoGenerateColumns = False
Me.DataGridView1.DataSource = objDs
Me.DataGridView1.DataMember = "sptest2"
Me.DataGridView1.Columns(0).DataPropertyName = "class1"
Me.DataGridView1.Columns(1).DataPropertyName = "comment"

maryam_jamshid
دوشنبه 27 آذر 1385, 14:45 عصر
از جوابتون ممنونم
ولی از این قسمت کد ایراد میگیره
objDa.Fill(objDs, "sptest2")
ضمنا من vs.net2003 استفاده میکنم.و شیئ DataGridView1 رو ندارم،چطوری اون رو در toolbox قرار بدم.

reza_rad
دوشنبه 27 آذر 1385, 14:52 عصر
ولی از این قسمت کد ایراد میگیره


چه اروری میده؟



ضمنا من vs.net2003 استفاده میکنم.و شیئ DataGridView1 رو ندارم،چطوری اون رو در toolbox قرار بدم.

این کامپوننت مخصوص 2005 هست. شمایی که 2003 کار می کنید جاش همون dataGrid خودتون رو استفاده کنید.

maryam_jamshid
دوشنبه 27 آذر 1385, 14:58 عصر
Additional information: Fill: SelectCommand.Connection property has not been initialized.

reza_rad
دوشنبه 27 آذر 1385, 15:08 عصر
خطای زمان کامپایل هست یا زمان اجرا؟

این کد رو امتحان کنید.فقط چک کنید ببینید ارور داره یا نه؟


Dim objCn As New SqlConnection
Dim objDa As New SqlDataAdapter
Dim objDs As New DataSet
objCn = New SqlConnection( _
"Data Source=.\SQLEXPRESS;AttachDbFilename=Data.mdf;" & _
"Integrated Security=True;Connect Timeout=30;User Instance=False")
objDa.SelectCommand = New SqlCommand
objDa.SelectCommand.Connection = objCn
objDa.SelectCommand.CommandText = "sptest2"
objDa.SelectCommand.CommandType = CommandType.StoredProcedure
objDa.SelectCommand.Parameters.Add("@pClass1", "A")
'objDa.SelectCommand.Parameters.AddWithValue("@pClass1", "A")
objCn.Open()
objDa.Fill(objDs, "sptest2")
objCn.Close()
objCn = Nothing
objDa = Nothing
'Me.DataGrid1.AutoGenerateColumns = False
Me.DataGrid1.DataSource = objDs
Me.DataGrid1.DataMember = "sptest2"
'Me.DataGrid1.Columns(0).DataPropertyName = "class1"
'Me.DataGrid1.Columns(1).DataPropertyName = "comment"